Skip to content

Farlavendi/FastAPI_School_Journal

Repository files navigation

Fastapi-school-journal


Description

This is my project, a prototype of a student journal and gradebook app, similar to a Student Information System (SIS) or Online School Diary.


Tech stack:

  • Framework: FastAPI
  • ORM: SQLAlchemy 2.0
  • Database: PostgreSQL
  • Migrations: Alembic
  • Message-broker: RabbitMQ
  • Task manager: TaskIQ

Installation and deployment.

Follow these steps to set up the application.

1. Clone the repository:

  git clone git@github.com:Farlavendi/FastAPI_School_Journal.git

Important

Configure environment variables. The required variables can be found in .env.template file.

2. Generate openssl private and public keys:

  openssl genpkey -algorithm RSA -out src/certs/private.pem -pkeyopt rsa_keygen_bits:2048
  openssl rsa -pubout -in src/certs/private.pem -out certs/public.pem

Note

These keys are required for JWT auth.

3. Launch Docker containers:

  docker-compose up -d 

Tip

You can also you Makefile commands. In this case you can just use "make up".

4. Apply migrations

  docker compose exec fastapi alembic upgrade head

5. 🔗 Available links:

About

A prototype of a student journal and gradebook app.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors