Skip to content

jellyfishing2346/CIS-Course-Helper-Web-App

Repository files navigation

🎓 Brooklyn College CIS Course Helper

A modern full-stack web application designed to help Brooklyn College Computer Science students navigate their academic journey with AI-powered recommendations and interactive course planning.

🌐 Live Demo

🚀 View Live Application

✨ Features

  • 🤖 AI-Powered Recommendations: Google Gemini-style chat interface for personalized course suggestions
  • 📅 Interactive Course Planning: Drag-and-drop interface for semester planning
  • ✅ Prerequisite Checking: Real-time validation of course requirements
  • 📊 Progress Tracking: Visual degree progress with completion indicators
  • 📱 Responsive Design: Beautiful UI that works on all devices
  • 🎨 Modern Interface: Gradient backgrounds, smooth animations, and micro-interactions
  • 👤 User Profiles: Student account management and progress saving
  • 💾 Data Persistence: Course plans and progress stored in database

🖼️ Screenshots

Home Page

Home Page

AI Recommendations Chat

AI Chat

Course Planning Interface

Course Planning

🔧 Technology Stack

Frontend

  • Framework: React 18 with JavaScript ES6+
  • Routing: React Router for SPA navigation
  • Build Tool: Vite for fast development and optimized builds
  • Styling: Modern CSS3 with animations and gradients
  • State Management: React Context API and hooks

Backend

  • Runtime: Node.js
  • Framework: Express.js for RESTful API
  • Database: MongoDB with Mongoose ODM
  • Authentication: JWT (JSON Web Tokens)
  • API Design: RESTful endpoints with proper HTTP methods
  • Middleware: CORS, body parsing, error handling

Development & Deployment

  • Version Control: Git with GitHub
  • Frontend Deployment: Netlify with SPA routing
  • Backend Deployment: [Heroku/Railway/Render - specify your choice]
  • Database Hosting: MongoDB Atlas
  • Performance: Optimized bundle (~154KB gzipped)

📱 Pages

  • Home: Hero section with feature highlights
  • About: Mission, statistics, and feature showcase
  • Contact: Enhanced contact form with validation
  • Prerequisites: Interactive course requirement checker
  • Recommendations: AI chat assistant for course planning
  • Dashboard: Student profile and progress tracking
  • Login/Signup: User authentication pages

🚀 Performance

Frontend Performance

  • Bundle Size: ~154KB gzipped
  • Load Time: <2 seconds on 3G
  • Lighthouse Score: 95+ across all metrics
  • Mobile Optimized: Responsive design for all screen sizes

Backend Performance

  • API Response Time: <200ms average
  • Database Queries: Optimized with indexing
  • Caching: Redis for session management
  • Security: Input validation, rate limiting, HTTPS

🎯 Purpose

This application helps Brooklyn College Computer Science students:

  • Plan their 4-year degree efficiently
  • Understand prerequisite requirements
  • Get AI-powered course recommendations
  • Track graduation progress
  • Make informed academic decisions

🏗️ Architecture & Design Patterns

MERN Stack Implementation

API Endpoints

  • GET /api/courses - Fetch all courses
  • POST /api/courses/check-prerequisites - Validate prerequisites
  • GET /api/students/:id/progress - Get student progress
  • POST /api/recommendations - Get AI course recommendations
  • POST /api/auth/login - Student authentication
  • PUT /api/students/:id/plan - Update course plan

Database Schema

  • Students: Profile, academic history, course plans
  • Courses: Course details, prerequisites, descriptions
  • Progress: Completed courses, current semester, GPA
  • Plans: Saved course schedules and degree paths

Component Architecture

  • Functional Components: React Hooks for state management
  • Context API: Global state for user authentication
  • Routing: Client-side routing with React Router
  • Responsive Design: Mobile-first approach with CSS Grid/Flexbox
  • Performance: Code splitting and lazy loading
  • Accessibility: WCAG 2.1 compliant with keyboard navigation

🚀 Key Technical Achievements

  • Full-Stack MERN Implementation: Complete frontend and backend integration
  • RESTful API Design: Clean, documented API endpoints
  • Database Modeling: Efficient MongoDB schemas with relationships
  • Authentication System: Secure JWT-based user authentication
  • Modern UI/UX: Google Gemini-style conversational interface
  • Performance Optimization: Both frontend and backend optimized
  • Responsive Design: Seamless experience across all devices
  • SPA Routing: Proper client-side routing configuration

🛠️ Local Development

Prerequisites

  • Node.js (v16+)
  • MongoDB (local or Atlas)
  • Git

Frontend Setup

# Clone the repository
git clone https://github.com/jellyfishing2346/CIS-Course-Helper-Web-App.git

# Navigate to client directory
cd CIS-Course-Helper-Web-App/client

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

# Navigate to server directory
cd CIS-Course-Helper-Web-App/server

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env with your MongoDB URI and JWT secret

# Start development server
npm run dev

# Start production server
npm start

# Backend (.env)
MONGODB_URI=mongodb://localhost:27017/cis-course-helper
JWT_SECRET=your-jwt-secret-key
PORT=5000
NODE_ENV=development

# Frontend (optional)
REACT_APP_API_URL=http://localhost:5000/api

Releases

No releases published

Packages

No packages published