Skip to content

admiralorbiter/kc_college_advisor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

42 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

KC College Advisor

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.

๐ŸŽฏ Project Overview

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.

โœจ Key Features

๐Ÿซ Institution Database

  • 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

๐Ÿ“Š Analytics & Metrics

  • 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

๐Ÿ—บ๏ธ Interactive Mapping

  • Geographic Visualization: Interactive map showing institution locations
  • Location-based Search: Find colleges near specific areas
  • Distance Calculations: Calculate travel distances between institutions

๐ŸŽ“ Program Information

  • Degree Programs: Browse available academic programs
  • Completion Data: Track student success in various fields
  • Enrollment Statistics: View current and historical enrollment data

๐Ÿ” Advanced Search & Comparison

  • Multi-criteria Search: Filter by location, program type, institution size
  • Sorting Options: Organize results by various metrics
  • Comparison Tools: Side-by-side institution analysis

๐Ÿ› ๏ธ Technology Stack

  • 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

๐Ÿ“ Project Structure

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

๐Ÿš€ Getting Started

Prerequisites

  • Python 3.7 or higher
  • pip (Python package installer)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/kc_college_advisor.git
    cd kc_college_advisor
  2. Install dependencies

    pip install -r requirements.txt
  3. Run the application

    python app.py
  4. Access the application Open your browser and navigate to http://localhost:5000

๐Ÿ“Š Data Sources

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

๐Ÿ”ง Configuration

Environment Variables

Create a .env file in the root directory:

SECRET_KEY=your-secret-key-here
DATABASE_URL=sqlite:///site.db
FLASK_ENV=development

Database Configuration

The 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'

๐Ÿš€ Deployment

Heroku Deployment

  1. Install Heroku CLI

  2. Login to Heroku

    heroku login
  3. Create Heroku app

    heroku create your-app-name
  4. Deploy

    git push heroku main

The application includes a Procfile for Heroku deployment and uses Gunicorn as the WSGI server.

๐Ÿ“ฑ Features in Detail

Institution Search

  • Search by institution name or alias
  • Filter by city, state, or county
  • Sort results by various criteria
  • View detailed institution profiles

Interactive Map

  • Geographic visualization of all institutions
  • Click on markers for detailed information
  • Distance calculations between locations
  • Responsive design for mobile devices

Graduation Analytics

  • Completion rate tracking
  • Cohort analysis
  • Program-specific success metrics
  • Historical trend data

Data Import/Export

  • CSV import functionality for institution data
  • Data validation and error handling
  • Export capabilities for analysis

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • 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

๐Ÿ“ž Support

For questions, issues, or contributions, please:

  • Open an issue on GitHub
  • Contact the development team
  • Check the documentation for common solutions

๐Ÿ”ฎ Future Enhancements

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors