Skip to content

ayiman29/free-classroom-finder-bracu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Free Classroom Finder — BRAC University

icon

A small web app that shows which classrooms are free at BRAC University for a selected day and timeslot.
Live demo: https://free-classroom.netlify.app/

This project fetches the public schedule JSON from the USIS API and computes which rooms are not occupied during a selected timeslot. FYI, it doesn’t show empty labs, as there is already another website for that made by someone else (FREE LABS).


Features

  • Pick a day and a timeslot.
  • See a list of all rooms that have no scheduled lecture during that slot.
  • Clean, responsive UI with a centered search card and results.
  • Lightweight — client-side processing of the schedule JSON for fast filtering.

Data Source & Credits

This project fetches schedule data from the public USIS JSON feed:


Technologies

  • React (components)
  • Vite (dev tooling)
  • CSS Modules for component styling
  • No backend required for the basic app (fetches directly from the API)

Quickstart — Run locally

  1. Clone the repository

    git clone https://github.com/ayiman29/free-classroom-finder-bracu.git
    cd free-classroom-finder-bracu
  2. Install dependencies

    npm install
  3. Run the dev server

    npm run dev
  4. Open http://localhost:5173 (or the address printed by Vite)

Build for production:

npm run build
npm run preview

Switching Data Source

To use the live USIS API instead of the default local JSON, update the hook function’s default parameter:

// Before (uses local JSON)
export function useScheduleData(url) {
  ...
}

// After (uses live USIS API)
export function useScheduleData(
  url = 'https://usis-cdn.eniamza.com/connect.json'
) {
  ...
}

⚠️ Note: The live URL often changes to the next semester’s data before the current semester is over, so the local JSON is used by default for consistent results.

Configuration & Notes

  • Timeslots are canonical and listed in the UI. Internally they map to 24-hour start/end ranges but are displayed in 12-hour format for convenience.
  • Labs can span multiple slots; the app can be configured to treat labs as occupying overlapping slots, or to ignore labs entirely.
  • By default, FRIDAY is excluded (as requested for BRAC University scheduling).

Attribution


Hope everyone can find a calm and relaxing classroom during their break time instead of roaming around the campus like a lunatic <3

About

A web app that shows which classrooms are free at BRAC University

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors