A simple full-stack project with:
- Frontend: Next.js 13 (App Router) βοΈ
- Testing: Jest on the frontend β
- Backend: Express.js with PostgreSQL ππ
quotes-db-frontend/client/β Next.js app (components, pages, tests)quotes-db-frontend/server/β Express API (routes, controllers, services) + Sequelizequotes-db-frontend/server/src/database/β CSV data and seed scripts πquotes-db-frontend/server/docker-compose.ymlβ Optional local Postgres via Docker π³
- Node.js 18+
- npm or yarn
- PostgreSQL (local or Docker)
- Install dependencies
- Frontend:
cd quotes-db-frontend/clientnpm install
- Backend:
cd ../servernpm install
- Environment variables π
- Frontend (
quotes-db-frontend/client/.env.local):NEXT_PUBLIC_API_URL=http://localhost:4000
- Backend (
quotes-db-frontend/server/.env):PORT=4000DATABASE_URL=postgres://user:password@localhost:5432/quotes
- (Optional) Start PostgreSQL with Docker π³
cd quotes-db-frontend/serverdocker compose up -d
- Frontend (Next.js):
cd quotes-db-frontend/clientnpm run devβ http://localhost:3000
- Backend (Express):
cd quotes-db-frontend/servernpm run devβ http://localhost:4000
- Frontend Jest:
cd quotes-db-frontend/clientnpm test
- Quote listing, search, and details π
- Create quotes via UI βοΈ
- Form validation and error handling
β οΈ - Toast notifications π
- Next.js, React, CSS Modules/PostCSS
- Jest for unit tests
- Express.js, Sequelize, PostgreSQL
- CSV import utilities
- Server:
start,dev - Client: standard Next.js scripts (
dev,build,start,test)