A full-stack event booking application that allows users to browse and book events, manage their bookings, and provides an admin panel for event management.
- Authentication (register and login)
- Home page with event listings in grid layout
- Event cards with booking functionality
- "Booked" label for events already booked by the user
- Event details page with complete event information
- Booking confirmation screen
- User bookings management
- Location-based search functionality
- Authentication API
- Event Management API
- Booking API
- Role-based permissions (Admin, User)
- Event image upload functionality
- Pagination for event listings
- deployment: frontend in netilfy, backend in VERCEL, database in neon.tech
- dark-mode.
- Navigate to the frontend directory:
cd frontend
- Install dependencies:
npm install
- Create a
.envfile in the frontend directory with:
VITE_API_URL= { the localhost running the backend }
- Start the development server:
npm run dev
- Navigate to the backend directory:
cd backend
- Install dependencies:
npm install
- Create a
.envfile in the backend directory with:
PORT= "..."
DATABASE_URL="your_database_connection_string"
JWT_SECRET_KEY="your_jwt_secret"
JWT_EXPIRES_IN="1d"
CLOUDINARY_CLOUD_NAME = ""
CLOUDINARY_API_KEY = ""
CLOUDINARY_API_SECRET = ""
- Set up the database:
npx prisma migrate dev
- Start the server:
npm run dev
To create an admin account, register with the "Request Admin Role" option checked. In a production environment, this would be handled through a more secure process.
- seed file is AI generated to populate the database with mockdata