Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HourSpace

HourSpace is an office-hour management system for University of Toronto Mississauga computer science courses. It supports course scheduling, student interest, help queues, classlist management, and TCard-based check-ins.

Technology

  • Next.js 16
  • React 19
  • TypeScript
  • Prisma
  • PostgreSQL
  • Tailwind CSS
  • Docker

Getting Started

Requirements

  • Node.js 22 or later
  • Corepack
  • Docker with Docker Compose

Installation

Enable Corepack and install the project dependencies:

corepack enable
pnpm install

Create a local environment file from the provided example:

cp .env.example .env

Use .env.example as the configuration reference and provide values suitable for your local environment. Do not commit .env or any credentials.

Set up the local PostgreSQL service and apply the checked-in migrations:

pnpm db:setup

Start the development server:

pnpm dev

Open http://localhost:3000 in a browser.

Available Commands

Command Purpose
pnpm dev Start the development server
pnpm build Create a production build
pnpm start Start the production server
pnpm typecheck Run TypeScript checks
pnpm lint Run ESLint

Continuous Deployment

The repository includes a continuous deployment workflow. Updates merged into master are deployed through the configured GitHub Actions self-hosted runner. Merged PRs would be deployed on Uoft VM running on hourspace.utm.utoronto.ca

Project Structure

src/
  app/          Pages, UI components, and API routes
  actions/      Server actions
  services/     Application workflows
  lib/          Queries, authentication, and shared utilities
prisma/         Prisma schema and migrations
scripts/        Development and deployment scripts
config/         Server configuration examples
public/         Static assets

Contributing

Before starting a substantial change, contact a project maintainer or Professor Rutwa Engineer to confirm the scope and ownership of the work.

Use a dedicated branch for each change and keep pull requests focused. Run the relevant type checks and lint checks before requesting review.

Contact

For project access, contribution questions, or deployment coordination, contact the repository maintainers or Professor Rutwa Engineer.

About

HourSpace is an office hour management system for UTM CS students, TAs, and instructors, integrated with U of T authentication. It supports course scheduling, live queues, TCard-based check-ins, ect.

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages