Skip to content

Repository files navigation

State Spaces 🏢

A venue reservation system built for CSCI 41 (Information Management) at Ateneo de Manila University.

State Spaces allows customers to browse and reserve venues across multiple buildings, with agents managing venue availability and maintenance teams.

Features

  • Browse venues by building, capacity, floor area, and type
  • Make reservations with time slot conflict detection
  • Renovation status tracking (unavailable venues auto-blocked)
  • Agent and team management per building
  • Amenity listings per venue

Tech Stack

  • Frontend: Streamlit
  • Database: PostgreSQL
  • ORM: SQLAlchemy
  • Language: Python 3.10

Database Schema

The system models 6 core entities:

BuildingVenueAmenity
VenueAgentTeam
VenueReservationCustomer

Getting Started

Prerequisites

  • Python 3.10+
  • PostgreSQL (ensure the service is running before starting the app)

Setup

  1. Clone the repo
   git clone https://github.com/yourusername/state-spaces.git
   cd state-spaces
  1. Create and activate a virtual environment
   python -m venv venv
   venv\Scripts\activate
  1. Install dependencies
   pip install -r requirements.txt
  1. Set up the database
    • Make sure PostgreSQL is running
    • Create a database in pgAdmin or psql:
   CREATE DATABASE statespaces;
  • Load the schema and seed data:
   psql -U postgres -d statespaces -f db-working.sql
  1. Configure your database connection by creating .streamlit/secrets.toml:
   [connections.postgresql]
   dialect = "postgresql"
   host = "localhost"
   port = 5432
   database = "statespaces"
   username = "postgres"
   password = "your_postgres_password"
  1. Run the app
   streamlit run main.py

The app will open in your browser at http://localhost:8501.

Notes

  • Use secrets.toml.example as a reference for the required format
  • The db-working.sql file includes sample data for 3 buildings, 5 venues, 5 customers, and reservations

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages