A comprehensive web application designed to help students, parents, and advisors explore and compare colleges in the Kansas City metropolitan area. Built with Flask and featuring interactive maps, detailed institution data, and graduation rate analytics.
KC College Advisor is a data-driven platform that provides comprehensive information about higher education institutions in Kansas and Missouri, with a focus on the Kansas City region. The application helps users make informed decisions about college selection by providing detailed statistics, graduation rates, program information, and geographical data.
- Comprehensive Coverage: Detailed information on colleges and universities in MO and KS
- Rich Data: Institution details including location, programs, control type, size, and more
- Search & Filter: Find institutions by name, location, or specific criteria
- Graduation Rates: Track completion rates for different degree programs
- IPEDS Data: Integration with federal education statistics
- Performance Metrics: Compare institutions based on various success indicators
- Geographic Visualization: Interactive map showing institution locations
- Location-based Search: Find colleges near specific areas
- Distance Calculations: Calculate travel distances between institutions
- Degree Programs: Browse available academic programs
- Completion Data: Track student success in various fields
- Enrollment Statistics: View current and historical enrollment data
- Multi-criteria Search: Filter by location, program type, institution size
- Sorting Options: Organize results by various metrics
- Comparison Tools: Side-by-side institution analysis
- Backend: Python Flask
- Database: SQLite with SQLAlchemy ORM
- Frontend: HTML/CSS with responsive design
- Mapping: Folium (Leaflet.js integration)
- Data Processing: Pandas for CSV handling
- Deployment: Heroku-ready with Gunicorn
kc_college_advisor/
โโโ app.py # Main Flask application
โโโ routes.py # Application routes and logic
โโโ requirements.txt # Python dependencies
โโโ Procfile # Heroku deployment configuration
โโโ models/ # Database models
โ โโโ institution.py # Institution data model
โ โโโ graduation.py # Graduation rate models
โ โโโ enrollment.py # Enrollment data models
โ โโโ completitions.py # Program completion models
โ โโโ institutional_attributes.py # Additional attributes
โ โโโ enums.py # Data enumeration classes
โ โโโ classification_codes.py # IPEDS classification codes
โโโ templates/ # HTML templates
โ โโโ base.html # Base template
โ โโโ index.html # Landing page
โ โโโ colleges.html # Institution listing
โ โโโ map/ # Interactive map views
โ โโโ institutions/ # Institution detail views
โ โโโ degrees/ # Degree program views
โโโ static/ # CSS and static assets
โ โโโ css/ # Stylesheets
โ โโโ landing-page.css # Landing page styles
โ โโโ about-page.css # About page styles
โโโ instance/ # Database files
โโโ site.db # SQLite database
- Python 3.7 or higher
- pip (Python package installer)
-
Clone the repository
git clone https://github.com/yourusername/kc_college_advisor.git cd kc_college_advisor -
Install dependencies
pip install -r requirements.txt
-
Run the application
python app.py
-
Access the application Open your browser and navigate to
http://localhost:5000
The application integrates data from multiple sources:
- IPEDS (Integrated Postsecondary Education Data System): Federal education statistics
- Institution Self-Reporting: Direct data from colleges and universities
- Geographic Data: Location coordinates and mapping information
- Classification Codes: Standardized institution categorization
Create a .env file in the root directory:
SECRET_KEY=your-secret-key-here
DATABASE_URL=sqlite:///site.db
FLASK_ENV=developmentThe application uses SQLite by default. For production, you can modify the database URI in app.py:
app.config['SQLALCHEMY_DATABASE_URI'] = 'your-database-url-here'-
Install Heroku CLI
-
Login to Heroku
heroku login
-
Create Heroku app
heroku create your-app-name
-
Deploy
git push heroku main
The application includes a Procfile for Heroku deployment and uses Gunicorn as the WSGI server.
- Search by institution name or alias
- Filter by city, state, or county
- Sort results by various criteria
- View detailed institution profiles
- Geographic visualization of all institutions
- Click on markers for detailed information
- Distance calculations between locations
- Responsive design for mobile devices
- Completion rate tracking
- Cohort analysis
- Program-specific success metrics
- Historical trend data
- CSV import functionality for institution data
- Data validation and error handling
- Export capabilities for analysis
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- IPEDS: For comprehensive education data
- Flask Community: For the excellent web framework
- Folium: For interactive mapping capabilities
- Kansas City Education Community: For inspiration and feedback
For questions, issues, or contributions, please:
- Open an issue on GitHub
- Contact the development team
- Check the documentation for common solutions
- Mobile App: Native iOS/Android applications
- Advanced Analytics: Machine learning insights
- Student Portal: Personalized dashboards
- Integration APIs: Connect with other education platforms
- Real-time Data: Live updates from institutions
Built with โค๏ธ for the Kansas City education community