CMU_Research is an advanced web-based platform designed to centralize and streamline research opportunities at Carnegie Mellon University. By leveraging automated web scraping and structured data integration, the platform dynamically aggregates research postings from CMU department websites, spreadsheets, and other faculty-curated repositories. This ensures that students have access to the most up-to-date opportunities while minimizing the manual effort required from faculty and administrators.
Team Leads: Rishi Prabhu, Jarret Huang, Jennifer Zhu CMU Scotty Labs Labrador Software Engineers
- Consult with the Team (Rishi, Jarret, or Jennifer) on the status of the Git codebase.
- Pull the latest code from the GitHub repository to your local machine.
Open a terminal in VS Code or your system terminal and execute the following commands:
# Navigate to the project directory
cd ResearchStarter
# Install dependencies
npm install
# Start JSON server for student data
npx json-server src/studentdata.json
# Start development server
npm run dev
Step 3: Start the Application Server
Open another terminal and run:
# Start the application server
npm run server
-
Automated Web Scraping & Data Aggregation
- Crawls department websites, research databases, and spreadsheets for real-time updates.
- Parses and structures data for seamless presentation within the platform.
-
Research Opportunity Portal
- Enables professors to post research openings with specific requirements.
- Students can browse, filter, and apply to opportunities based on interest and qualifications.
-
Seamless Student-Professor Interaction
- Direct messaging system for streamlined communication.
- Professors can manage applications and connect with potential candidates.
-
Data Synchronization & Validation
- Incorporates input from 62 department heads to ensure comprehensive research listings.
- Merges faculty-managed spreadsheets with automatically scraped content.
- Framework: React with TypeScript for type safety and scalable UI components.
- Styling: Tailwind CSS for modern, responsive, and efficient styling.
- State Management: Context API for lightweight global state handling.
- UI Enhancements: Dynamic filtering, real-time search, and accessibility-focused design.
- Web Scraper: JavaScript-based scraping pipeline with structured JSON output.
- Data Processing: Intelligent parsing and deduplication to merge multiple sources.
- API Layer: RESTful API endpoints for fetching, updating, and managing research listings.
- JSON Data Layer: Storing structured data for fast and lightweight retrieval.
- Cloud Deployment (Planned): Future scalability with cloud-based hosting and database integration.
- AI-Powered Matching System – Implementing machine learning models to recommend research opportunities based on student profiles and interests.
- Professor Dashboard Enhancements – Improved analytics and opportunity management tools.
- Expanded Data Sources – Incorporating additional research databases and funding opportunities.
- Frontend: JavaScript, TypeScript, React, Tailwind CSS, HTML, CSS
- Backend: Node.js (Planned API Development)
- Data Handling: JSON, Web Scraping with JavaScript
Developed by a team dedicated to making research opportunities more accessible and efficient at Carnegie Mellon University.
CMU_Research: Empowering students and faculty through seamless research discovery.