Skip to content
@UniSpace-SSD

UniSpace-SSD

UniSpace

UniSpace is a university-space reservation system developed as a two-person academic project for the Secure Software Design course at the University of Calabria (UniCal).

The project uses a shared REST backend with two independent clients: a SvelteKit web application and a Python terminal interface.

Repositories

Repository Purpose Main technologies
backend REST API, domain logic, authentication, authorization and testing Python, Django, Django REST Framework, pytest
web-frontend Browser-based client SvelteKit, Svelte, TypeScript, Playwright
tui Terminal client for the same REST API Python, Rich, Requests, pytest

What UniSpace does

UniSpace models university buildings and reservable spaces and provides workflows for students and professors.

The system includes:

  • user registration and token-based authentication
  • student and professor roles
  • department-aware user and space data
  • buildings and multiple space types
  • reservation creation and cancellation
  • reservation approval workflows
  • server-side authorization rules
  • a reusable REST API consumed by multiple clients
  • automated tests
  • Swagger/ReDoc API documentation on the backend

Architecture

                 +----------------------+
                 |   UniSpace Backend   |
                 | Django + DRF REST API|
                 +----------+-----------+
                            |
              +-------------+-------------+
              |                           |
   +----------v-----------+    +----------v-----------+
   |    Web Frontend      |    |         TUI          |
   | SvelteKit/TypeScript |    | Python + Rich        |
   +----------------------+    +----------------------+

Both clients use the same API and authentication model, while authorization is enforced on the server.

Academic focus

The project was created for Secure Software Design and explores software-engineering concerns including:

  • API-oriented architecture
  • authentication and authorization
  • role-based access control
  • validation and error handling
  • separation between backend and client applications
  • automated testing
  • maintainable multi-repository development

Team

Two-person development team:

Status

The course project is complete. The repositories are preserved as an academic and portfolio reference.

Popular repositories Loading

  1. backend backend Public archive

    Python

  2. tui tui Public archive

    Python

  3. web-frontend web-frontend Public archive

    Svelte

  4. .github .github Public

Repositories

Showing 4 of 4 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…