I developed a Football Field Booking System Backend using Node.js, Express.js, and MongoDB with Mongoose.
The system provides a structured backend solution for managing football fields, users, and booking operations.
Key Features:
• Authentication and user management using JWT.
• Password hashing using bcryptjs.
• Email verification and password reset with expiring tokens.
• Role-based access control for customers, field owners, and administrators.
• Complete field management (Create, Read, Update, Delete).
• Field search and filtering by city, owner, and name.
• Field availability checking with hourly time slots.
• Booking management with overlap protection to prevent conflicting reservations.
• Booking cancellation and status management.
• Payment status tracking.
• Field rating and review system.
• Centralized error handling and input validation using Joi.
• Audit logging to track important system activities.
• MongoDB indexing for improved query performance.
Technologies Used:
Node.js, Express.js, MongoDB, Mongoose, JWT, Joi, bcryptjs.
The project focuses on secure authentication, reliable booking management, data validation, and maintainable backend architecture.