CampusFix is a modern, transparent, and efficient system designed to streamline campus facility management. It bridges the gap between students/staff and administration by providing a real-time platform for reporting and tracking infrastructure issues.
Students and staff frequently face infrastructure issues like broken fans, dirty washrooms, lack of drinking water, and faulty lights. However, the current state of affairs is inefficient:
- 🐌 Manual Complaints: Reporting is slow, bureaucratic, or verbal.
- 📉 Zero Transparency: No tracking of complaint status.
- 🙈 Ignored Issues: "Submit and forget" leads to long-standing problems.
- 📊 No Data: Admin lacks data to prioritize repairs effectively.
CampusFix digitizes the entire process, ensuring accountability and speed.
- Instant Reporting: Snap a picture, add a location, and submit in seconds (guest or logged in).
- Transparency: Real-time status updates (Pending → In Progress → Resolved).
- Validation: Upvoting system to highlight critical/common issues.
- Admin Power: Data-driven dashboard for maintenance teams to prioritize tasks.
- 📸 Quick Reporting: Fast issue submission with image compression.
- 👤 Guest Access: Report anonymously without logging in.
- 🔐 Secure Login: Google & GitHub OAuth integration.
- 👍 Upvotes: "Me too" functionality to escalate popular issues.
- 📱 Responsive Design: Works on mobile and desktop.
- 🌗 Dark Mode: Full dark theme support for comfortable viewing.
- Dashboard Overview: View live analytics (Total, Pending, Resolved).
- Interactive Charts: Visualize issue status distribution.
- Priority System: Auto-calculated priority (Low/Medium/High) based on upvotes.
- Issue Details: View reporter information (Name/Email) and full issue context.
- Status Management: Update issue status realistically.
- 🛡️ Role-Based Access: Secure admin features protected by email authorization.
- 📈 Analytics: Track submission trends (coming soon).
Frontend
- Framework: Angular 17+ (Standalone Components)
- Styling: TailwindCSS (Responsive & Dark Mode)
- Language: TypeScript
Backend
- Framework: FastAPI (Python)
- Database: SQLite (SQLAlchemy ORM)
- Authentication: OAuth 2.0 (Google & GitHub)
- Validation: Pydantic
- Node.js (v18+)
- Python (v3.9+)
- Git
git clone https://github.com/yourusername/CampusFix.git
cd CampusFixcd Frontend
npm install
npm startThe app will be available at http://localhost:4200.
cd Backend
# Create virtual environment (optional but recommended)
python -m venv venv
# Windows
.\venv\Scripts\activate
# Mac/Linux
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run server
python main.pyThe API will be available at http://localhost:8000.
Create a .env file in the Backend directory:
SECRET_KEY=your_secure_secret_key
# Google OAuth
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
# GitHub OAuth
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
# Admin Access
ADMIN_EMAILS=admin@example.com,your_email@gmail.comBuilt with ❤️ for better campuses.