A full-stack web application that helps students find and filter scholarships from various universities. Currently supporting University of Toronto scholarships data.
- Frontend: React.js with Material-UI
- Backend: Flask + SQLAlchemy
- Database: SQLite
- Web Scraping: Selenium WebDriver
- API Communication: REST APIs with CORS support
- Real-time scholarship search and filtering
- Automated scholarship data scraping
- Filter scholarships by:
- 🔍 Name
- 🌍 Citizenship requirements
- 💰 Value range
- 🏛️ University
- 📚 Type (In-Course, Graduating, Admission)
cd frontend
npm install
npm start| Endpoint | Method | Description | Response |
|---|---|---|---|
/all_scholarships |
GET | Fetches all available scholarships | Array of scholarship objects |
/test_db |
GET | Tests database connection | Array of scholarship names |
/test |
GET | Basic API health check | {"message": "Hello, World!"} |
- id: Integer (Primary Key)
- name: String
- description: Text
- offered_by: String
- type: String
- citizenship_type: String
- application_required: String
- nature_of_award: String
- application_deadline: String
- value: String
- university: String
The application includes an automated scraper that:
- Navigates scholarship websites
- Extracts structured data
- Filters and processes monetary values
- Saves to the database automatically
- Add support for more universities
- Implement user authentication
- Add scholarship application tracking
- Implement email notifications
- Add mobile responsiveness
- Add advanced filtering options
Feel free to open issues and pull requests for any improvements you'd like to add!
This project is MIT licensed.