Skip to content

Coding-Hustlers is a modern learning platform with AI-powered course generation, interactive coding challenges, MCQ tests, analytics, and secure auth. Built with React + TypeScript, Vite, TailwindCSS, Firebase, and Google Gemini for AI content generation.

Notifications You must be signed in to change notification settings

panduthegang/Coding-Hustlers

Repository files navigation

πŸš€ Coding Hustlers

Coding Hustlers Logo

Code. Compete. Conquer. πŸ’»

The ultimate platform for mastering programming through interactive courses, AI-powered tests, and real-world coding challenges.

TypeScript React Vite Firebase TailwindCSS


πŸ“– Table of Contents


✨ Features

πŸŽ“ Comprehensive Learning Platform

  • πŸ“š Interactive Courses: Structured learning paths with chapters and lessons
  • 🧠 AI-Powered Content: Dynamic course generation using Google Gemini AI
  • πŸ“Š Progress Tracking: Monitor your learning journey with detailed analytics
  • πŸ† Achievement System: Earn badges and track milestones

πŸ’― Advanced Testing System

  • βœ… MCQ Tests: Multiple-choice questions to test your knowledge
  • πŸ’» Coding Challenges: Real-world programming problems with instant feedback
  • ⏱️ Timed Assessments: Practice under time constraints
  • πŸ“ˆ Performance Analytics: Detailed insights into your test results

πŸ” Secure Authentication

  • πŸ”’ Firebase Authentication: Industry-standard security
  • πŸ‘€ User Profiles: Personalized dashboard and settings
  • 🎨 Profile Customization: Avatar, bio, and social links

🎨 Modern UI/UX

  • πŸŒ™ Beautiful Design: Clean, modern interface with smooth animations
  • πŸ“± Fully Responsive: Optimized for desktop, tablet, and mobile
  • ⚑ Lightning Fast: Built with Vite for optimal performance
  • 🎭 Intuitive Navigation: Seamless user experience

πŸ› οΈ Tech Stack

Frontend

Technology Description
React UI library for building interactive interfaces
TypeScript Type-safe JavaScript for robust code
Vite Next-generation frontend tooling
TailwindCSS Utility-first CSS framework
React Router Client-side routing

Backend & Services

Technology Description
Firebase Authentication & Firestore database
Google Gemini AI-powered content generation

Development Tools

Technology Description
ESLint Code linting and quality
PostCSS CSS transformations
Lucide Icons Beautiful icon library

πŸš€ Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v18 or higher) - Download
  • npm (v9 or higher) - Comes with Node.js
  • Git - Download

Installation

  1. Clone the repository
git clone https://github.com/panduthegang/Coding-Hustlers.git
cd Coding-Hustlers
  1. Install dependencies
npm install

Environment Setup

Create a .env file in the root directory with the following variables:

# Firebase Configuration
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
VITE_FIREBASE_PROJECT_ID=your_firebase_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
VITE_FIREBASE_APP_ID=your_firebase_app_id


# Google Gemini AI
VITE_GEMINI_API_KEY=your_gemini_api_key

πŸ”‘ Getting API Keys

  1. Firebase:

    • Go to Firebase Console
    • Create a new project or select existing
    • Navigate to Project Settings β†’ General β†’ Your apps
    • Copy the configuration values
  2. Google Gemini AI:

Running the Project

Development Mode

npm run dev

The application will start at http://localhost:5173

Build for Production

npm run build

Preview Production Build

npm run preview

Lint Code

npm run lint

Type Check

npm run typecheck

πŸ“ Project Structure

Coding-Hustlers/
β”œβ”€β”€ public/                      # Static assets
β”‚   β”œβ”€β”€ logo.svg                # App logo
β”‚   β”œβ”€β”€ hero-person.png         # Hero section image
β”‚   β”œβ”€β”€ coding-illustration.png # Coding section image
β”‚   └── community-illustration.png # Community section image
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/             # Reusable components
β”‚   β”‚   β”œβ”€β”€ Header.tsx         # Navigation header
β”‚   β”‚   β”œβ”€β”€ Footer.tsx         # Footer component
β”‚   β”‚   β”œβ”€β”€ Sidebar.tsx        # Dashboard sidebar
β”‚   β”‚   β”œβ”€β”€ HeroSection.tsx    # Landing hero section
β”‚   β”‚   β”œβ”€β”€ ChapterOverview.tsx # Course chapter display
β”‚   β”‚   β”œβ”€β”€ CommunitySection.tsx # Community features
β”‚   β”‚   β”œβ”€β”€ CompaniesSection.tsx # Partner companies
β”‚   β”‚   └── ProtectedRoute.tsx  # Auth route guard
β”‚   β”œβ”€β”€ contexts/              # React contexts
β”‚   β”‚   └── AuthContext.tsx    # Authentication context
β”‚   β”œβ”€β”€ pages/                 # Page components
β”‚   β”‚   β”œβ”€β”€ Landing.tsx        # Landing page
β”‚   β”‚   β”œβ”€β”€ Login.tsx          # Login page
β”‚   β”‚   β”œβ”€β”€ SignUp.tsx         # Sign up page
β”‚   β”‚   β”œβ”€β”€ Dashboard.tsx      # User dashboard
β”‚   β”‚   β”œβ”€β”€ Courses.tsx        # Courses listing
β”‚   β”‚   β”œβ”€β”€ CourseDetail.tsx   # Course detail page
β”‚   β”‚   β”œβ”€β”€ ChapterTest.tsx    # Chapter tests
β”‚   β”‚   β”œβ”€β”€ Tests.tsx          # Tests overview
β”‚   β”‚   β”œβ”€β”€ MCQTest.tsx        # MCQ test page
β”‚   β”‚   β”œβ”€β”€ CodingTest.tsx     # Coding challenge page
β”‚   β”‚   β”œβ”€β”€ Profile.tsx        # User profile
β”‚   β”‚   β”œβ”€β”€ Settings.tsx       # User settings
β”‚   β”‚   └── About.tsx          # About page
β”‚   β”œβ”€β”€ lib/                   # Utility libraries
β”‚   β”‚   β”œβ”€β”€ courseData.ts      # Course data management
β”‚   β”‚   β”œβ”€β”€ courseStorage.ts   # Course persistence
β”‚   β”‚   β”œβ”€β”€ gemini.ts          # AI integration
β”‚   β”‚   └── localStorage.ts    # Local storage utilities
β”‚   β”œβ”€β”€ services/              # API services
β”‚   β”‚   └── firestore.ts       # Firestore operations
β”‚   β”œβ”€β”€ types/                 # TypeScript types
β”‚   β”‚   β”œβ”€β”€ course.ts          # Course type definitions
β”‚   β”‚   └── profile.ts         # Profile type definitions
β”‚   β”œβ”€β”€ config/                # Configuration files
β”‚   β”‚   └── firebase.ts        # Firebase configuration
β”‚   β”œβ”€β”€ App.tsx                # Main app component
β”‚   β”œβ”€β”€ main.tsx               # App entry point
β”‚   └── index.css              # Global styles
β”œβ”€β”€ .env                       # Environment variables
β”œβ”€β”€ index.html                 # HTML template
β”œβ”€β”€ package.json               # Dependencies
β”œβ”€β”€ tsconfig.json              # TypeScript config
β”œβ”€β”€ tailwind.config.js         # Tailwind config
β”œβ”€β”€ vite.config.ts             # Vite config
β”œβ”€β”€ firestore.rules            # Firestore security rules
β”œβ”€β”€ firestore.indexes.json     # Firestore indexes
└── README.md                  # Project documentation

πŸ”₯ Key Features Breakdown

1. πŸŽ“ Course System

The platform offers a comprehensive course management system:

  • Dynamic Course Creation: AI-powered course generation
  • Chapter-Based Learning: Structured content divided into manageable chapters
  • Progress Tracking: Automatic saving of course progress
  • Multiple Formats: Support for video, text, and interactive content

2. πŸ’― Testing & Assessment

Two types of tests to evaluate your skills:

MCQ Tests

  • Multiple-choice questions with instant feedback
  • Topic-based categorization
  • Timed challenges
  • Score tracking and analytics

Coding Challenges

  • Real programming problems
  • Multiple difficulty levels
  • Code execution and validation
  • Performance metrics

3. πŸ‘€ User Management

  • Authentication: Secure login/signup with Firebase
  • Profile Management: Customizable user profiles
  • Settings: Personalize your experience
  • Dashboard: Centralized view of your progress

4. 🎨 UI/UX Excellence

  • Responsive Design: Works on all devices
  • Modern Aesthetics: Clean and professional interface
  • Smooth Animations: Delightful user interactions
  • Accessibility: Built with accessibility in mind

🎯 Usage Guide

For Learners

  1. Sign Up: Create your account to get started
  2. Browse Courses: Explore available courses on the Courses page
  3. Start Learning: Enroll in courses and complete chapters
  4. Take Tests: Challenge yourself with MCQ and coding tests
  5. Track Progress: Monitor your achievements on the Dashboard

For Developers

  1. Fork the Repository: Create your own copy
  2. Set Up Environment: Configure your API keys
  3. Make Changes: Implement your features
  4. Test Thoroughly: Ensure everything works
  5. Submit PR: Contribute back to the community

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

Steps to Contribute

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m 'Add some amazing feature'
  4. Push to the branch
    git push origin feature/amazing-feature
  5. Open a Pull Request

Contribution Guidelines

  • Follow the existing code style
  • Write clear commit messages
  • Add tests for new features
  • Update documentation as needed
  • Be respectful and constructive

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘¨β€πŸ’» Author

Pandu the Gang


🌟 Star this repository if you find it helpful!

Made with ❀️ by developers, for developers

GitHub stars GitHub forks


πŸ“¬ Questions or Suggestions?

Feel free to open an issue or reach out!

Happy Coding! πŸš€

About

Coding-Hustlers is a modern learning platform with AI-powered course generation, interactive coding challenges, MCQ tests, analytics, and secure auth. Built with React + TypeScript, Vite, TailwindCSS, Firebase, and Google Gemini for AI content generation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages