Chalk is a conceptual bookmarking API made with Express and Typescript. It's only intended to serve as a learning project and is not intended for actual use outside of messing around. This is also highly insecure with no protection against XSS and CSRF attacks and no authenticated/protected routes due to the lack of any actual authentication. Obviously, no production deployments.
You'll need to have pnpm installed to run these commands. Preferably, install from mise-en-place.
You'll also need to set up a Postgres database with Neon. Make sure you assign the connection url in your .env.
Navigate to backend and install your dependencies:
pnpm install
Next, run Prisma commands to generate the model types and migrate the tables to the database:
pnpm prisma:generate
pnpm prisma:migrate
Once those commands run successfully, you can start the server locally:
pnpm run dev
A few things that I'd like to implement for the future if I ever have the time
- Implement auth
- Protect POST, PATCH and DELETE routes
- Implement security measures against XSS and CSRF
- Create user routes