Sportz Blitz Summer Camp

Welcome to Sportz Blitz Summer Camp, a full Stack Sports Camp website. Your ultimate destination for summer sports camp. This MERN-stack (MongoDB, Express.js, React.js, Node.js) website provides students, instructors, and administrators with a seamless experience for managing and participating in summer camps. With Firebase authentication for user management and React Stripe for online payments, Sportz Blitz Summer Camp ensures secure access and transactions for all users.

Features:

Student Dashboard:

i. User Authentication: Students can sign up or log in using Firebase authentication.

ii. Class Selection: Browse and select available classes added by instructors.

iii. Enrollment: Enroll in classes by paying the specified amount through online payment.

iv. View Classes: View selected classes and enrolled classes in the dashboard.

Instructor Dashboard:

i. Class Management: Instructors can add new classes, update existing classes, and view all classes they've added.

ii. User-Specific CRUD: Instructors can only manage classes they've added; they cannot access or modify classes added by other instructors.

iii. Feedback: Receive feedback from the admin on the acceptance or denial of classes.

Admin Dashboard:

i. User Management: Admin can promote users to instructor or admin roles, or remove access from users.

ii. Class Approval: Admin can accept or deny classes added by instructors, providing feedback on the reason for denial.

iii. Control Classes: Manage the list of available classes and ensure only approved classes are visible to students.

Technologies Used

  1. React.js: Frontend library for building user interfaces.

  2. Node.js: Backend runtime environment.

  3. Express.js: Backend framework for handling server-side operations.

  4. MongoDB: NoSQL database for storing class and user data.

  5. Firebase Authentication: For secure user authentication.

  6. Tailwind CSS: Frontend CSS framework for designing.

  7. React Stripe: Payment processing for online transactions.

Usage

Student:

i. Sign up or log in to Sportz Blitz Summer Camp using Firebase authentication.

ii. Browse available classes and select those of interest.

iii. Enroll in selected classes by paying the specified amount through online payment using React Stripe.

iv. View selected classes and enrolled classes in the dashboard.

Instructor:

i. Log in to the instructor dashboard using Firebase authentication.

ii. Add new classes, update existing classes, or view all classes added.

iii. Receive feedback from the admin on class approval or denial.

Admin:

i. Log in to the admin dashboard using Firebase authentication.

ii. Manage users by promoting to instructor or admin roles, or removing access.

iii. Approve or deny classes added by instructors, providing feedback on the reason for denial.