Department of Software Engineering
Nepal College of Information Technology (NCIT)
Pokhara University
Name | Roll Number | Role |
---|---|---|
Birat Aryal | 221614 | Fullstack |
Sunil Giri | 221615 | Backend |
Pragyan | 221516 | Frontend |
Rupesh | 221739 | Frontend |
Cricksy is a cloud-native web application that streamlines the process of discovering, booking, and managing cricket courts (cricksals). The platform addresses the inefficiencies of manual court booking by providing a scalable, real-time, and user-friendly solution. Leveraging modern cloud technologies, Cricksy ensures high availability, scalability, and seamless collaboration among users, owners, and administrators.
- Challenge: Manual booking of cricket courts is time-consuming, error-prone, and lacks transparency for both users and owners.
- Context: In the era of cloud computing, digital transformation of sports facility management is essential for efficiency and accessibility.
- Impact: Automating and digitizing the booking process improves user experience, optimizes resource utilization, and enables data-driven management for owners and admins.
- Develop a web application for cricket court booking using cloud services.
- Implement scalable backend APIs and real-time data updates.
- Integrate secure user authentication and role-based access control.
- Enable admin dashboard functionalities for managing courts, bookings, and users.
graph TD
A[User/Owner/Admin] -->|Web UI| B(React Frontend)
B -->|REST API| C(Express Backend)
C --> D[(MongoDB Database)]
E[Docker Containers] --> B
E --> C
E --> D
F[Nginx Reverse Proxy] --> B
F --> C
C --> G[Cloud Storage: Images]
C --> H[Cloud Hosting: AWS EC2 or Elastic Beanstalk]
- Frontend: React (Vite, Redux, Tailwind)
- Backend: Node.js, Express.js, JWT, Multer
- Database: MongoDB (Mongoose)
- Cloud Services: AWS EC2/S3 (or similar for hosting and storage)
- AWS EC2 (for deployment)
- JavaScript (Node.js, React)
- MongoDB (Mongoose ODM)
- React, Redux Toolkit, Express.js, Mongoose, Tailwind CSS, Framer Motion, Axios
- Docker, GitHub Actions
- RESTful APIs
- Core Features: Role-based dashboards, real-time booking, review system, image uploads, admin management.
- Challenges: Ensuring data consistency for bookings, secure file uploads, and role-based access control.
- Solutions: Used JWT for authentication, Multer for secure uploads, and Mongoose for schema validation.
- Key Decisions: Chose serverless image storage (S3) for scalability; used Docker for consistent deployment.
- Integration Testing: Postman for API endpoints.
- Security Testing: JWT validation, input sanitization, and role-based access checks.
- Response Time: < 200ms for most API endpoints under normal load.
- Scalability: Horizontally scalable via Docker containers and cloud hosting.
- Uptime: 99.9% (cloud-hosted, monitored)
- Cost-Efficiency: Pay-as-you-go cloud resources, minimal idle costs.
project-work-group-23/
βββ Backend/
β βββ config/ # Database config
β βββ Constants/ # User role constants
β βββ controller/ # All business logic (auth, booking, cricksal, admin, review, profile)
β βββ middleware/ # Auth, error handling
β βββ model/ # Mongoose schemas (User, Booking, Cricksal, Review)
β βββ routes/ # Express routers (auth, booking, cricksal, admin, review, profile)
β βββ uploads/ # Uploaded images
β βββ createAdmin.js # Script to create admin user
β βββ server.js # Main server entry
β βββ package.json # Backend dependencies
βββ Frontend/
βββ public/ # Static assets
βββ src/
β βββ admin/ # Admin dashboard, sidebar, pages
β βββ client/ # User-facing pages/components
β βββ owner/ # Owner dashboard, pages, sidebar
β βββ app/ # Redux store
β βββ features/ # Redux slices
β βββ assets/ # Images, icons, etc.
β βββ ... # App entry, styles, etc.
βββ index.html # App entry point
βββ index.css # Global styles
βββ App.jsx # Main app component
βββ package.json # Frontend dependencies
- Mobile app integration (React Native)
- AI-powered booking recommendations
- Multi-cloud deployment (AWS, Azure, GCP)
- SMS/email notifications for bookings
- Advanced analytics dashboard for owners/admins
- Kubernetes orchestration for large-scale deployment
- Microservices architecture migration
- Redis caching for improved performance
- Faculty mentors at NCIT
- Colleagues and peer reviewers
- Open-source libraries and the developer community
MIT License