Skip to content

About

IIITB Compass – Student Utility Portal A centralized platform tailored for IIIT Bangalore students to streamline everyday campus needs. The portal features a unified dashboard with modules for academic calendar access, airport cab-sharing coordination, lost & found item reporting, and daily mess menu viewing with dish ratings.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

114 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IIITB Compass - Student Utility Portal

Overview

IIITB Compass is a general utilities platform made by and for IIITB students. It brings together essential utilities like:

  • Academic Calendar
  • Cab Sharing (generally used for airport)
  • Lost & Found items
  • Mess Menu & Specific dish Ratings and comments

All into one sleek and modern dashboard.

Features

  1. Calendar

    • Stay updated on academic and event schedules.
    • View upcoming holidays, exams, and institute events.
  2. CabShare

    • Find peers leaving for or arriving from the airport at the same time.
    • Coordinate rides and split cab fares.
  3. Lost & Found

    • Report items you've lost or found in the campus.
    • View reports by others and reconnect people with their belongings.
  4. Menu & Food Ratings

    • Check the daily mess menu.
    • Rate meals and view peer ratings for food quality and variety.
  5. Unique Profiles for students via Github login

    • Each user has a unique profile and contact field
    • Makes it easier to find contacts for cabsharing and lost&found
  6. Dark/Light mode switching capabilities

    • Can switch between dark and light mode
    • A system default option also exists

Pages

  • /auth: Authentication page allowing users to log in via GitHub. Upon successful login, users are redirected to the dashboard.

  • /dashboard: The central hub where users can access all features: CabShare, Calendar, Lost & Found, Menu, Profile and Contact Us.

  • /calendar: Displays academic and campus events. Pulled from a pre-fed calendar source (Unipage calendar 2025), admins can fill extra events.

  • /cabshare: Users can view and post cab-sharing opportunities based on time and destination.

  • /lostfound: Submit details of lost or found items. Users can filter and search by date, category, or location.

  • /foodmenu: Shows the current week's mess menu. Users can rate meals and read aggregated ratings by others.

  • /profile: Users can view and update their account information.

  • /contact: Page with links to linkedin profiles of all members involved.

Project Structure

client/
├── app/                # App routes and main layout
├── components/         # Reusable UI components
├── forms/              # Form components for each page
├── lib/                # Utility functions
├── prisma/             # Prisma schema and DB config
├── public/             # Static files (images, icons)
├── types/              # TypeScript type declarations
├── scripts/            # Local development scripts
├── .env                # Environment variables
├── auth.ts             # Authentication setup
├── next.config.ts      # Next.js configuration
├── postcss.config.mjs  # PostCSS setup for TailwindCSS
├── package.json        # Project dependencies
├── tsconfig.json       # TypeScript config
└── README.md           # Project documentation

Tech Stack

  • Next.js – App router + full-stack routes
  • TypeScript – Safety and clarity
  • Tailwind CSS – Modern styling
  • shadcn/ui – Accessible component library
  • NextAuth.js – Auth via GitHub OAuth
  • Prisma – Type-safe database ORM
  • PostgreSQL – Backend DB

Getting Started

Prerequisites

  • Node.js 18+
  • A PostgreSQL DB (or use SQLite for testing)

Installation

  1. Clone the repo:
git clone https://github.com/Invito101/iiitb-compass.git
cd iiitb-compass/client
  1. Install dependencies:
npm install --force

It is important to use --force here

  1. Configure Environment Variables

In the .env file inside the repo, make sure to properly configure the following values:

AUTH_GITHUB_ID=***
AUTH_GITHUB_SECRET=***

Follow these guides to set up GitHub OAuth and integrate Auth.js with Prisma:


AUTH_SECRET=***
  • Generate a random string and paste it here.
    You can use this tool or any method you like to generate one.

NEXTAUTH_URL=http://localhost:3000
  • Set this to the URL where your dev server runs, usually http://localhost:3000 during local development.

DATABASE_URL=***

To get your database URL:

And add your database URL to the variable

  1. Generate Prisma client:
npx prisma generate
  1. Run the dev server:
npm run dev

Then go to http://localhost:3000/auth and sign up with github to begin.


Project built and maintained by IIITB students. Built with 💜 for campus life.

About

IIITB Compass – Student Utility Portal A centralized platform tailored for IIIT Bangalore students to streamline everyday campus needs. The portal features a unified dashboard with modules for academic calendar access, airport cab-sharing coordination, lost & found item reporting, and daily mess menu viewing with dish ratings.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages