simple notes CRUD app but mainly an excuse to play with some new tech
MIT License
A very simple store and view notes application but also an excuse to play with some new technologies.
pnpm env use --global 14
pnpm install
will install everythingpnpm db:up
will start the postgres docker container
pnpm db:down
to shut it downpnpm dev
will start both client and server in dev mode
pnpm db:studio
will launch prisma's studio to visually interact with the db
pnpm sb
will launch storybook at http://localhost:6006
pnpm test
will run unit tests
pnpm test --watch
to run in watch modepnpm gitzy
to commit using a cli that follows conventional commitsformatting
and linting
will happen before committingmedea exposes it's api if you wish to use outside of the UI as you wish
medea
curl --request POST \
--url http://127.0.0.1:7000/notes \
--header 'Content-Type: application/json' \
--data '{
"title": "Usage",
"description": "An example of a new note",
"text": "# This Is Your New Note\n\n> Thank you using Medea! ❤️\n\n## Tips\n* You can click the 👁 to preview\n* You can click the 📝 to edit\n\n",
"tags": [
]
}'
{
// cSpell:ignore cku05wn4t00211rslpcjzcrxw
"id": "cku05wn4t00211rslpcjzcrxw",
"links": {
"note": "http://localhost:3000/notes/cku05wn4t00211rslpcjzcrxw",
"json": "http://localhost:3000/json/cku05wn4t00211rslpcjzcrxw"
},
"createdAt": "2021-09-25T19:04:33.053Z",
"updatedAt": "2021-09-25T19:04:33.053Z"
}
⚡️ The theme was speed from development to production so the technologies we're chosen with that in mind.
jest
✅eslint
🚨prettier
🎨husky
🎨typescript
🚨docker
👷pnpm
for it's workspaces and the boost in installation speed ⚡️nx
(only the cli) for it's computational caching ⚡️, affected commands ⚡️ and workspace visualization 🔨storybook
react
✨react-router
✨@testing-library/react
✅vite
for the fast server start and updates ⚡️
tailwindcss
for it's focus on rapid UI development ⚡️react-query
for making fetching, caching, synchronizing and updating server state easy 🍻
nodemon
🔨esbuild
for it's fast builds and transpiling ⚡️Fastify
for it's lower cost of the infrastructure 🍻 and better responsiveness under load ⚡️prisma
for it's many features that improve developer productivity 🍻
postgres
for it's performance and it works great with prisma
⚡️