|
1 |
| -# Next Starter Pack |
2 |
| - |
3 |
| -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/pages/api-reference/create-next-app). |
4 |
| -This is my personal starter pack for new SSR projects. It's not really built as a boilerplate or starting point for anyone else, but feel free to use it if you'd like. |
5 |
| - |
6 |
| -## Why Next? Why Page Router? |
7 |
| -I personally like to build highlyinteractive applications. Which means I want as much CSR as possible. However, I there are some great benefits to SSR that it's often useful to take advantage of. |
8 |
| -Next, and pages router in particular, gives me the best balance of being to write lots of CSR code but with the option of SSR to help with certain things. |
9 |
| - |
10 |
| -Although I'm a fan of RSC, pages router model is a lot more familiar and easier for me. I spend less time fighting rendering issues or worrying about where my code runs, and more time building. |
11 |
| -That's also the reason why a full-stack TS app makes sense for me. |
12 |
| - |
13 |
| -## Included |
14 |
| -[x] Pages Router |
15 |
| -[x] Tailwind |
16 |
| -[x] Custom Radix-based colour system |
17 |
| -[x] Out-of-the-box primitives, built on top of Radix (mostly) |
18 |
| -[x] drizzle ORM for Postgres |
19 |
| -[x] Docker setup with local database, including table prefix so no need to run multiple containers |
20 |
| -[x] Auth with Auth.js |
21 |
| -[x] react-query for data fetching |
22 |
| -[x] Magic link login with Resend |
23 |
| -[x] Protected routes, api, and component templates |
24 |
| -[x] Useful hooks |
25 |
| -[x] Pre-commit CI (Typecheck, Lint) |
26 |
| -[ ] Optional IndexedDB persistance |
27 |
| -[ ] PWA support |
28 |
| -[ ] Rich components like TipTap Editor, |
29 |
| -[ ] Generic OpenAI routes with Instructor JS setup |
30 |
| - |
31 |
| - |
32 |
| -## Approaches |
33 |
| -There are several approaches to how I build applications contained. Everything is a learning process so these may change. |
34 |
| - |
35 |
| -- Caching is mostly handled client-side through in-memory or persisted (IndexedDB), managed by React Query. |
36 |
| -I find it easier to have the client control the caching and revalidation so I know that every request is fresh data that I need, and I don't make server requests (which cost on Vercel/Serverless). |
37 |
| - |
38 |
| -- Auth checks are made on every request. We use Redis (Vercel KV) for this as it's really fast and cheap for simpe session storage. We can use 1 database for all projects as long as we prefix the keys. |
| 1 | +# Pilcrow - A notebook app that writes at the speed of inspiration ✨ |
| 2 | + |
| 3 | +Last winter I was working on a PKM-style side-project of the same name. That didn't really work out but I learned a lot about how I write because of it. |
| 4 | + |
| 5 | +Most people write to document things. The perception is you do all the thinking in your head and just 'get it down on paper'. But the reality is writing *is* the thinking. It opens up your mind to endless possibilities and new ideas. |
| 6 | + |
| 7 | +Instead of our writing being a record on a page, it's more like a brush on a canvas. However, writing apps don't work like that. |
| 8 | + |
| 9 | +So I'm building one that does. |
| 10 | + |
| 11 | +🏝️ |
| 12 | + |
| 13 | +📖 |
| 14 | + |
| 15 | +👟 |
| 16 | + |
| 17 | +👋 |
| 18 | + |
| 19 | +## Features |
| 20 | +[x] Simple, calm Notion-like editor without all the fluff and GenAI crap |
| 21 | +[x] Create new documents instantly and view them in a 'stack', side-by-side, like pages in a book. |
| 22 | +[x] Run at the speed of inspiration! Notes stack up so you only view 3-at-a-time. You can only browse back and forth, like a real notebook. |
| 23 | +[x] @ mention other documents to join up your thinking and create deep links between ideas when reading back |
| 24 | +[x] CMK menu for actions |
| 25 | +[x] Goto documents with keyboard shortcuts |
| 26 | +[ ] Upload rich media like video and images |
| 27 | +[ ] @ links can clear stack if CMD+Click |
| 28 | +[ ] Shareable read-only mode |
| 29 | + |
| 30 | + |
| 31 | +## Prior Art |
| 32 | +Layout is massively (stolen) inspired by how [Andy Matushack takes notes ](https://notes.andymatuschak.org/About_these_notes) |
| 33 | + |
| 34 | +[CMDK](https://cmdk.paco.me/) |
| 35 | +[shadcn](https://ui.shadcn.com/docs) |
| 36 | + |
| 37 | + |
0 commit comments