Skip to content

mukappalambda/vocabdemy-backend

Repository files navigation

Vocabdemy Backend

A Python App for Vocabulary Memorizer

CircleCI

                                                   __        __
                           _   ______  _________ _/ /_  ____/ /__  ____ ___  __  __
                          | | / / __ \/ ___/ __ `/ __ \/ __  / _ \/ __ `__ \/ / / /
                          | |/ / /_/ / /__/ /_/ / /_/ / /_/ /  __/ / / / / / /_/ /
                          |___/\____/\___/\__,_/_.___/\__,_/\___/_/ /_/ /_/\__, /
                                                                          /____/


git clone git@github.com:mukappalambda/vocabdemy-backend.git
cd vocabdemy-backend

Install Project Dependencies

After having poetry installed on your machine, run:

make install

Development Mode

make env
make dev

This project uses poetry to manage dependencies.

For the purpose of future reference, the following are steps to add or remove certain package:

poetry add <some_python_package>
make poetry-lock && make poetry-export

Build the Docker Image

make env
docker compose build
docker images -f reference=vocabdemy
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
vocabdemy    0.1.0     9d094976ca7e   12 seconds ago   1.02GB

Production Mode

make env
make prod
docker compose ps
  Name                Command               State           Ports         
--------------------------------------------------------------------------
pgweb      /usr/bin/pgweb --bind=0.0. ...   Up      0.0.0.0:8081->8081/tcp
postgres   docker-entrypoint.sh postgres    Up      0.0.0.0:5432->5432/tcp
python     uvicorn app.main:app --hos ...   Up      0.0.0.0:8000->8000/tcp
# tear down the stack
$ docker-compose down -v

Test

curl localhost:8000