Skip to content

ManviHans/CampusResolve

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏫 CampusResolve

Anonymous Smart Grievance Tracking System

Demo Video Link: https://www.youtube.com/watch?v=fFNg0Zc-VLA

A transparency and trust-building digital grievance ecosystem for educational institutions.


πŸš€ Quick Start

# 1. Install dependencies
pip install -r requirements.txt

# 2. Run the server
uvicorn app.main:app --reload

# 3. Open browser
# β†’ http://localhost:8000

πŸ” Admin Access

⚠️ Change credentials in app/utils.py before production deployment.


πŸ“ Project Structure

grievance-tracker/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ main.py         # FastAPI app, page routes, startup
β”‚   β”œβ”€β”€ models.py       # SQLAlchemy ORM models
β”‚   β”œβ”€β”€ database.py     # SQLite engine & session
β”‚   β”œβ”€β”€ routes.py       # All API endpoints
β”‚   β”œβ”€β”€ schemas.py      # Pydantic validation schemas
β”‚   └── utils.py        # Priority detection, password hashing
β”œβ”€β”€ templates/
β”‚   β”œβ”€β”€ index.html      # Landing page
β”‚   β”œβ”€β”€ submit.html     # Submit grievance form
β”‚   β”œβ”€β”€ track.html      # Track by ID
β”‚   β”œβ”€β”€ admin_login.html
β”‚   └── dashboard.html  # Full admin dashboard
β”œβ”€β”€ static/
β”‚   └── uploads/        # Uploaded files (auto-created)
β”œβ”€β”€ requirements.txt
└── README.md

🧠 Smart Features

Feature Description
Auto Priority Detection Keywords like "harassment", "ragging", "unsafe" β†’ HIGH priority
Sensitive Flag Student-marked sensitive β†’ immediate HIGH priority
Auto Escalation No update in 5 days β†’ status becomes "Escalated"
Unique Tracking IDs Format: GRV-2026-XXXXX
Analytics Charts Category doughnut + status bar charts

🚦 Status Flow

Submitted β†’ Under Review β†’ Assigned β†’ In Progress β†’ Resolved

Also: Rejected, Escalated


πŸ”’ Security

  • Passlib bcrypt password hashing
  • SQLAlchemy ORM (prevents SQL injection)
  • File upload validation (type + 5MB limit)
  • Session-based admin auth (client-side guard + server-side verification)

πŸ“Š API Endpoints

Method Path Description
POST /api/submit Submit a grievance
GET /api/track/{id} Track by tracking ID
POST /api/admin/login Admin authentication
GET /api/admin/grievances List grievances (with filters)
PUT /api/admin/grievances/{id} Update status/comment
GET /api/admin/analytics Dashboard analytics data

Full docs: http://localhost:8000/api/docs


πŸ† Hackathon Pitch

Problem: Students fear retaliation. Colleges lack transparent grievance systems.

Solution: CampusResolve provides:

  • βœ… Anonymous submission (email optional, IP not logged)
  • βœ… Unique tracking ID for transparency
  • βœ… Smart AI keyword-based priority detection
  • βœ… Auto-escalation for stale complaints
  • βœ… Professional admin dashboard with analytics
  • βœ… Zero-setup SQLite database

Impact: Builds trust, ensures accountability, and empowers student voices.


Built with FastAPI + SQLite + Tailwind CSS

About

πŸŽ“ CampusResolve β€” Anonymous Smart Grievance Tracking System for educational institutions. Built with FastAPI + SQLite + Tailwind CSS. Features: anonymous submissions, real-time tracking, smart priority detection, auto-escalation & admin dashboard with analytics.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors