City Serv is a full-stack Next.js application that connects skilled professionals with customers in need of home services.
- User authentication (sign up, sign in)
- Service listings and details
- Provider registration
- Booking system
- Provider dashboard
- User booking management
- Frontend: Next.js, React, Tailwind CSS, shadcn/ui
- Backend: Next.js API Routes, Server Actions
- Database: PostgreSQL with Prisma ORM
- Authentication: Custom cookie-based auth
- Node.js 18+ and npm
- PostgreSQL database
- Clone the repository
- Install dependencies: ```bash npm install ```
- Set up your environment variables in a
.envfile: ``` DATABASE_URL="postgresql://username:password@localhost:5432/cityserv" ``` - Set up the database: ```bash npx prisma migrate dev --name init ```
- Seed the database: ```bash npm run db:seed ```
- Run the development server: ```bash npm run dev ```
After seeding the database, you can use these accounts to test the application:
- Admin: admin@cityserv.com / admin123
- Provider: plumber@cityserv.com / provider123
- Customer: customer@cityserv.com / customer123
This project can be deployed on Vercel with a PostgreSQL database from providers like Neon, Supabase, or Railway.
This project is licensed under the MIT License.