Full stack applicaton with express backend, PostgreSQL database and Vue 3 frontend. TypeScript supported both on the front and the back. TailwindCSS for styling.
JWT workflow. Token is saved in local storage, sent from the client and then decoded on the backend on authentication and particular requests.
- Sign up / Login
- Overview of the games on the homepage (GET request),
- CRUD operations per review per game (POST, PUT and DELETE requests, real time updates on the client),
- Upload image, change name and email information for your account,
- Overview of the users on the dashboard page for ADMIN users only,
- Admin dashboard: control user information. Delete users (DELETE request, Authorization middleware running on the backend preventing non admin users from reaching dashboard page),
- Responsive for mobile devices.
- Node
- Express
- PostgreSQL
- Prisma
- JWT
- Vue 3 (pinia, vue router)
- zod
- TailwindCSS
- TypeScript
Note: This project uses pnpm as the package manager. npm/yarn will not work due to the preinstall check.
- git clone this repository
- install dependencies in client and server folders using
pnpm install - then in server folder
pnpm prisma generateto generate Prisma client - then in server run
pnpm startto start the backend server - in client open new terminal and run
pnpm run devto run client server