OpenCampus

logo

OpenCampus

OpenCampus is an open-source, self-hosted platform for managing university scheduling, academic structure, and student attendance.

The system is designed as a modular monolith built with Go and PostgreSQL, prioritising reliability, clear architecture, and straightforward deployment in institutional environments.

Documentation

See docs/README.md for the full documentation index.

Overview

You can read README as a webpage (recommended).

Project Wiki

Universities often rely on fragmented or legacy systems for timetable management and attendance tracking. OpenCampus provides a modern, extensible alternative that institutions can host on their own infrastructure.

The platform aims to:

Key Features

Planned:

General context

System Context

User groups

Actors

Use cases

Usecases

System Components

Architecture

Architecture

Additional design diagrams are available in:

docs/diagrams/

Including:

Repository Structure

services/
  api/
    cmd/                Application entrypoints
    internal/           Business logic and modules

db/
  migrations/           Database schema evolution
  schema/               Base schema definitions
  seed/                 Development seed data

web/                    Frontend application (planned)

docs/
  uml/                  PlantUML source files
  diagrams/             Rendered diagrams

deploy/
  docker-compose.yml    Local deployment configuration

Technology Stack

Development Requirements

Getting Started (Planned)

Initial setup instructions will be provided with the first MVP release.

Planned workflow:

git clone <repository>
cd opencampus
docker compose up

Database

PostgreSQL is used as the primary relational data store.

Schema management will be handled through versioned migrations located in:

db/migrations/

Roadmap

Near Term:

Mid Term:

Long Term:

Documentation

Architecture and system design documentation:

docs/

Includes UML diagrams and domain modelling artifacts.

Contributing

Contributions, bug reports, and feature proposals are welcome.

Contribution guidelines and development workflow will be documented as the project reaches MVP maturity.

Security

Security issues should be reported privately to the maintainers.

A formal security policy will be added prior to production deployments.

License

License will be specified before the first stable release.