Skip to content
This repository has been archived by the owner on Mar 19, 2023. It is now read-only.
/ ritta Public archive

Modular open source learning/student management system built with TypeScript and NestJS.

License

Notifications You must be signed in to change notification settings

rittaschool/ritta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARCHIVED

ritta-server

Modern and easy to use school information system

Strengthening home-school communication and simplifying everyday school life

AGPLv3 License GitHub last commit Discord Channel
Tests Docker

Ritta is a modular student information system developed using modern technologies. With Ritta schools can communicate to parents and students easily and have one place where to find information, eg. exams, grades, schedules and room & device reservations.

Current solutions available in Finland are old, difficult to use and don't adapt easily to special needs. The education space changes every year, and new solutions are needed. Ritta plans to integrate to existing ecosystems (Moodle, Google Workspace, DigiOne), but also create it's own for schools that aren't part of a existing ecosystem, but still want to easily integrate to other systems.

Getting started

For running Ritta you must have NodeJS 16, Yarn Classic, Docker and docker-compose installed.

Starting dependencies (RabbitMQ, databases)

Easiest way to start the dependencies is to run environments/local/start-docker.sh in the root of the project.

Building and running Ritta

First, install the dependencies by running yarn install. Then, you can start the project by opening a shell in each of the directories in the apps directory, and then run the yarn start:dev command, or the yarn dev for the frontend. Alternatively, you can run npx turbo run start:dev to start the backend, and go then start the frontend by going to apps/web and running yarn dev.

Architecture

We use Microservice architecture and the NestJS framework for the backend, and for databases we primarily use MongoDB. Other databases may be used for specific microservices. We are going to use Novu for notification management and PostHog for product analytics in the future. Our frontend is built using Vite and Mantine. For dependency management we use Yarn with Yarn Workspaces. We provide REST and GraphQL APIs for developers.

API Documentation

API documentation can be viewed by going to https://<ritta-server url>/docs.

Bugs and suggestions

Found something or got an idea you would like to share?
For minor bugs and suggestions use issues.
For security problems and bigger bugs, please follow procedures in SECURITY.md

Contributing

Contributions are always welcome! See CONTRIBUTING.md for how to contribute.

Contact us

Contact us at [email protected] or alternatively on our Discord server (Link in the at the top)!