Navigate BU's 6,000+ courses with AI-powered insights and career guidance
DS-X is an intelligent academic planning platform designed specifically for Boston University students. Built during Boston University DS+X 2025, it transforms the complex process of course selection and degree planning into a seamless, AI-powered experience.
- Search 6,000+ BU Courses: Comprehensive catalog across all schools (CAS, ENG, COM, etc.)
- Advanced Filtering: By level (introductory/intermediate/advanced), credits, school, and Hub requirements
- Real-time Search: Instant results as you type with intelligent matching
- Custom Career Recommendations: Enter any career goal and get relevant course suggestions
- Intelligent Course Matching: Powered by Google Gemini AI to analyze career requirements and course content
- Skill Gap Analysis: See what percentage of required skills each course path covers
- Interactive Chat Advisor: Ask questions about degree planning, course selection, and academic strategy
- Credit Tracking: Real-time monitoring of semester and total credit load
- Multi-Semester View: Plan 4 years (8 semesters), if not more, in advance
- BU Hub Requirements: Track all 21 Hub requirements across 6 categories toward your 26 required units
- Visual Progress Indicators: Circular charts and status tables for degree completion
- Milestone Tracking: See how many courses, credits, and Hub units you've completed
- Motivational Feedback: Progress-based encouragement as you work toward graduation
- 4,000+ Faculty Profiles: Browse professors across all BU departments
- Research Exploration: View publications via OpenAlex integration
- AI Email Generator: Create professional outreach emails to connect with faculty
- Department Filtering: Find professors by department
- React 18.3 - UI library for building interactive interfaces
- TypeScript 5.5 - Type-safe JavaScript for better developer experience
- Vite - Lightning-fast build tool and dev server
- Tailwind CSS - Utility-first CSS framework for rapid styling
- Zustand - Lightweight state management
- React Router - Client-side routing
- Axios - HTTP client for API requests
- Lucide React - Beautiful icon library
- Python 3.11 - Modern Python with type hints
- FastAPI - High-performance async web framework
- PostgreSQL - Robust relational database
- SQLAlchemy - Python ORM for database operations
- Pandas - Data manipulation and analysis
- Google Gemini API - AI-powered course recommendations
- OpenAlex API - Academic research paper integration
- Uvicorn - ASGI server for FastAPI
- Beautiful Soup - Web scraping BU course catalogs
- Pandas - Data cleaning and preprocessing
- Custom Python Scripts - Course and faculty data extraction
- Git & GitHub - Version control and collaboration
- Vercel (planned) - Frontend deployment
- Railway (planned) - Backend deployment
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher) - Download
- npm (comes with Node.js)
- Python (v3.11 or higher) - Download
- PostgreSQL (v14 or higher) - Download
- Git - Download
-
Clone the repository
-
Set up the Frontend
cd frontend npm install npm run dev -
Set up the Backend
cd ../backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt python3 -m uvicorn app.main:app --reload
-
Configure Environment Variables
Create a
.envfile in thebackenddirectory:# Google Gemini AI GEMINI_API_KEY=your_gemini_api_key_here # OpenAlex (optional - for professor research) OPENALEX_EMAIL=[email protected] # Server ENVIRONMENT=development SECRET_KEY=your_secret_key_here
Create a
.envfile in thefrontenddirectory:VITE_API_BASE_URL=http://localhost:8000
You'll need two terminal windows:
Terminal 1 - Frontend:
cd frontend
npm run devFrontend will be available at: http://localhost:5173
Terminal 2 - Backend:
cd backend
source venv/bin/activate # On Windows: venv\Scripts\activate
python -m uvicorn app.main:app --reloadBackend will be available at: http://localhost:8000
API documentation (Swagger UI): http://localhost:8000/docs
http://localhost:8000/api
Full interactive API documentation available at: http://localhost:8000/docs
This project is licensed under the MIT License - see the LICENSE file for details.