Skip to content

Latest commit

ย 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ EduNavigator

EduNavigator is a Flask-based college recommendation and counselling web application designed to help students shortlist Tamil Nadu engineering colleges using their TNEA cutoff score and personal preferences.

The application filters and ranks colleges based on factors such as course, branch, city, college type, and fee range, then explains why a college was recommended and provides detailed information about its facilities and available programmes.


๐ŸŒ Live Demo

Live Demo

๐Ÿš€ Launch EduNavigator

The application is hosted on Render. The free instance may take a few seconds to wake up after inactivity.

โœจ Features

  • ๐ŸŽฏ TNEA Cutoff-Based Recommendations

    • Shortlist colleges based on a student's cutoff score.
  • ๐Ÿ” Preference-Based Filtering

    • Course
    • Branch
    • City
    • College type
    • Fee range
  • ๐Ÿ“Š Recommendation Ranking

    • Processes college and course data using Pandas to generate ranked recommendations.
  • ๐Ÿ’ก Recommendation Explanation

    • Shows why a college was recommended based on the selected preferences.
  • ๐Ÿซ College Details

    • View college information, facilities, and available programmes.
  • ๐Ÿ’พ SQLite Database

    • Uses Flask-SQLAlchemy with SQLite for local application data.
  • ๐Ÿงช Automated Testing

    • Includes automated tests for application and recommendation functionality.
  • ๐Ÿณ Docker Support

    • The application can be built and run using Docker Compose.

๐Ÿง  Recommendation Workflow

EduNavigator follows a preference-driven recommendation workflow:

Student Preferences
        โ”‚
        โ–ผ
TNEA Cutoff + Preference Input
        โ”‚
        โ–ผ
College & Course Filtering
        โ”‚
        โ–ผ
Recommendation Ranking
        โ”‚
        โ–ผ
Ranked College Recommendations
        โ”‚
        โ–ผ
Recommendation Explanation
        โ”‚
        โ–ผ
Detailed College Information

The recommendation workflow uses Pandas to process the college dataset and perform the ranking and filtering operations.


๐Ÿ› ๏ธ Technology Stack

Backend

  • Python
  • Flask
  • Flask-SQLAlchemy

Data & Database

  • Pandas
  • SQLite
  • CSV

Frontend

  • Jinja Templates
  • Bootstrap
  • CSS

Testing & Deployment

  • Pytest
  • Docker
  • Docker Compose

๐Ÿ“ Project Structure

EduNavigator/
โ”œโ”€โ”€ app.py
โ”œโ”€โ”€ config.py
โ”œโ”€โ”€ extensions.py
โ”œโ”€โ”€ models.py
โ”œโ”€โ”€ data_service.py
โ”œโ”€โ”€ recommendation.py
โ”œโ”€โ”€ import_data.py
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ .env.example
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ README.md
โ”‚
โ”œโ”€โ”€ data/
โ”‚   โ””โ”€โ”€ final.csv
โ”‚
โ”œโ”€โ”€ templates/
โ”œโ”€โ”€ static/
โ”‚
โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ test_app.py
โ”‚   โ””โ”€โ”€ test_recommendation.py
โ”‚
โ”œโ”€โ”€ docs/
โ”‚   โ””โ”€โ”€ EDUNAVIGATOR_REPORT.docx
โ”‚
โ””โ”€โ”€ instance/

instance/ contains local runtime/database data and is ignored by Git.


๐Ÿ“Š Data & Recommendation System

The application uses a CSV-based college dataset as its primary source of college and programme information.

The data is processed using Pandas and imported into the application's local SQLite database.

The recommendation process uses student inputs such as:

  • TNEA cutoff score
  • Course
  • Branch
  • City
  • College type
  • Fee range

These preferences are used to filter and rank suitable colleges before presenting the results to the student.


๐Ÿ–ฅ๏ธ Application Screenshots

๐Ÿ  Home

EduNavigator Home

๐Ÿ“ Recommendation Form

Recommendation Form

๐ŸŽฏ Recommendation Results

Recommendation Results

๐Ÿซ College Details

College Details


๐Ÿš€ Getting Started

Prerequisites

  • Python 3.10 or newer
  • Git

1. Clone the repository

git clone <your-repository-url>
cd EduNavigator

2. Create a virtual environment

Windows PowerShell

python -m venv venv
.\venv\Scripts\Activate.ps1

3. Install dependencies

python -m pip install --upgrade pip
python -m pip install -r requirements.txt

4. Import the dataset

python import_data.py

5. Start the application

python app.py

Open the application in your browser:

http://127.0.0.1:5000

These steps are based on the existing local setup documented in the project.


๐Ÿ”„ Recreate the Database

To recreate the local SQLite database from data/final.csv:

python import_data.py --replace

๐Ÿงช Testing

Run the automated test suite with:

python -m pytest -q

Tests are located in:

tests/
โ”œโ”€โ”€ test_app.py
โ””โ”€โ”€ test_recommendation.py

๐Ÿณ Run with Docker

Make sure Docker Desktop is installed.

Set the application's secret key:

$env:SECRET_KEY = "replace-with-a-long-random-value"

Build and start the application:

docker compose up --build

Then open:

http://127.0.0.1:5000

On the first start, Docker creates the SQLite database and imports data/final.csv. The database is stored in a named Docker volume so it persists across container restarts.


๐Ÿ” Configuration

Create a .env file from the provided example:

copy .env.example .env

Set a strong SECRET_KEY before deployment.

SECRET_KEY=your-long-random-secret-key

Do not commit .env or the generated SQLite database to GitHub.

The project already excludes local runtime database data through Git configuration.


๐Ÿ”ฎ Future Improvements

Potential areas for further development include:

  • Machine-learning-based recommendation models
  • More advanced personalized ranking
  • Historical TNEA admission data integration
  • User accounts and saved recommendations
  • Improved recommendation explanations
  • Cloud database integration
  • Production deployment

๐Ÿ‘จโ€๐Ÿ’ป Author

Mithilesh A

Software Developer

โญ Project

If you find EduNavigator useful or interesting, consider giving the repository a โญ on GitHub.

EduNavigator โ€” helping students make better-informed engineering college choices through data-driven recommendations.

About

๐ŸŽ“ TNEA college recommendation system built with Flask to help students find colleges based on cutoff, course, branch, city, fees, and college type.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages