Skip to content

emp7yhead/bibliograph

Repository files navigation

bibliograph

codecov Maintainability Check and Build Docker Image Size (tag)

App for organizing book collection.

Deployed app on railway

API documentation can be found here

Functionality

  • Create, read, update, delete users
  • JWT Authentification
  • Create, read, update, delete bookshelves that stores you book collection
  • And of course you can add books by title in your collection, track number of readed pages in book

Requirements

  • Mac / Linux
  • Docker version 23.0.5
  • Docker Compose version v2.17.3
  • GNU Make

Main Dependencies

  • python = "^3.11"
  • fastapi = "^0.97.0"
  • aiohttp = "^3.8.4"
  • alembic = "^1.11.1"
  • SQLAlchemy = "^2.0.16"
  • uvicorn = "^0.22.0"

Installation

  • Clone repository

    git clone git@github.com:emp7yhead/bibliograph.git
  • Fill the .env.example file. You need to specify:

    • SECRET_KEY - secret key. That's it.
    • POSTGRES_SERVER - host and port of database. If you use docker compose set value to database
    • POSTGRES_DB - database name
    • POSTGRES_USER - database user
    • POSTGRES_PASSWORD - password to database for specified user
  • Install all dependencies, run migrations and start server by executing command:

    make run
  • Go to 0.0.0.0:5000

Docker

You always can use docker image for:

  • installation

    docker pull emptyhead/bibliograph --platform linux/x86_64
  • applying migration

    docker run -ti -p 5000:5000 emptyhead/bibliograph make migrate
  • run app

    docker run -ti -p 5000:5000 emptyhead/bibliograph

But don't forget about environment variables when using docker.