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)