Skip to content

Nepal-College-of-Information-Technology/project-work-group-23

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌩️ Cloud Application and Development Foundation

Course Project: Cricksy: A Smart Cricksal Booking System

Department of Software Engineering
Nepal College of Information Technology (NCIT)
Pokhara University


πŸ§‘β€πŸ€β€πŸ§‘ Team Members

Group Number: 23

Name Roll Number Role
Birat Aryal 221614 Fullstack
Sunil Giri 221615 Backend
Pragyan 221516 Frontend
Rupesh 221739 Frontend

πŸ“Œ Project Abstract

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.


β›³ Problem Statements

  • 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.

🎯 Project Objectives

  • 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.

πŸ—‚οΈ System Architecture Diagram

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]
Loading
  • 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)

πŸ”§ Technologies & Tools Used

☁️ Cloud Platform

  • AWS EC2 (for deployment)

πŸ’» Programming Languages

  • JavaScript (Node.js, React)

πŸ—„οΈ Databases

  • MongoDB (Mongoose ODM)

πŸ› οΈ Frameworks & Libraries

  • React, Redux Toolkit, Express.js, Mongoose, Tailwind CSS, Framer Motion, Axios

πŸ“¦ DevOps & Deployment

  • Docker, GitHub Actions

πŸ“‘ APIs & Integration

  • RESTful APIs

πŸ“Έ Screenshots

Application Interface Overview

Screenshot 1 Home Page and Landing Interface

Screenshot 2 Signin Page

Screenshot 3 Owner Dashboard

Screenshot 4 Admin Dashboard

Screenshot 5 Booking Page

πŸš€ Implementation Highlights

  • 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.

🌌 Testing & Validation

  • Integration Testing: Postman for API endpoints.
  • Security Testing: JWT validation, input sanitization, and role-based access checks.

πŸ“Š Results & Performance

  • 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.

πŸ“ Repository Structure

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

οΏ½πŸ“ˆ Future Enhancements

  • 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

πŸ™ Acknowledgments

  • Faculty mentors at NCIT
  • Colleagues and peer reviewers
  • Open-source libraries and the developer community

πŸ“š References


🧾 License

MIT License


About

project-work-group-23 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages