vacansee Documentation
Everything you need to know about finding available rooms on campus.
What is vacansee?
vacansee is a modern web application designed to help students find available rooms across campus in real-time. No more wandering the halls or checking multiple locations – get instant information about room availability right when you need it.
Built with performance and usability in mind, vacansee provides a fast, intuitive interface that works seamlessly on all devices.
Our Goal
The primary goal is to make finding an available room quick and effortless. Whether you need a quiet place to study, a room for a group meeting, or just want to see the campus schedule at a glance, vacansee provides the necessary tools to help you succeed.
How to Use
Getting started with vacansee is simple. First, sign in using your Google or GitHub account for secure access. Once logged in, you'll find several pages to help you find available rooms:
- Available Now: View which rooms are free right now at a glance
- Available Soon: See upcoming room availability with quick filters (30m, 1h, 2h ahead)
- Check Availability: Enter a specific time to verify room availability for any moment you need
- Graph: Visualize room schedules throughout the day with interactive, color-coded timelines
- Custom Graph: Create personalized schedule views with custom filters, then export them as images
- Room Details: Browse all available spaces with complete information including capacity and location
Features
- Real-time Availability - Check which rooms are available right now
- Future Projections - See what rooms will be available soon (30m, 1h, 2h ahead)
- Custom Time Checks - Verify availability for specific time slots
- Interactive Graphs - Visualize room schedules with color-coded availability
- Custom Graph Builder - Create personalized schedule views with filters
- Room Information - Browse complete room details including capacity
- Smart Search - Fuzzy search to find rooms quickly
- Export Capability - Save custom graphs as images
- Responsive Design - Works perfectly on desktop, tablet, and mobile
- Secure Authentication - Protected access via Google/GitHub OAuth
- Performance Optimized - Fast loading with intelligent caching
Tech Stack
Frontend
- Next.js 15 (Pages Router)
- TypeScript
- Tailwind CSS 4
- Shadcn UI Components
- Framer Motion
- Fuse.js (Fuzzy Search)
Backend
- Next.js API Routes
- Prisma ORM
- PostgreSQL Database
- Zod Validation
- In-memory Caching
Authentication
- Supabase Auth
- OAuth Providers
- Secure Sessions
Infrastructure
- Vercel Hosting
- GitHub Actions
- Supabase (Database)
- Performance Monitoring
Architecture Highlights
Getting Started (Development)
To set up the project locally for development:
- Clone the repository from GitHub
- Install dependencies:
npm install - Copy
.env.exampleto.env.localand configure - Generate Prisma client:
npx prisma generate - Push schema to database:
npx prisma db push - Run development server:
npm run dev
For detailed setup instructions, see CONTRIBUTING.md on GitHub.
Data Updates
Schedule data is automatically updated every 4 hours via GitHub Actions workflows. This ensures the application always displays current room availability based on the latest timetable information.
The automated workflow collects timetable data, processes it, updates the database, generates optimized schedule files, and commits changes to the repository.
Contact & Links
Created by: Taha Parker
Contact: Personal Website
Source Code: GitHub Repository
Sister Project: vaila - Professor Availability
For students, by students. Built with 🖤 by TP.
Proudly open source and continuously improving.