You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Madiwka 2579fd3905 Added pdf stuf 1 year ago
app Added pdf stuf 1 year ago
.DS_Store Finally Fuel Person Task URAAA 1 year ago
.gitignore Initial Commit 1 year ago
README.md Merge pull request #1 from Madiwka4/Madi 1 year ago
docker-compose.yml changed config to match that of docker 1 year ago
requirements.txt Changed some integers to floats 1 year ago

README.md

VMS Backend

goals to be met:

  • Create and set up main database on a PostgreSQL server
  • Set up basic GET requests for Users, Vehicles, Assignments (except for Assignments)
  • Set up POST requests for Users, Vehicles, Assignments (except for Assignments)
  • Add token/cookie(?) authentication
  • !!! Fully read the pdf document and build the database schema !!!

Let’s keep updating this readme.md file as we complete our tasks

How to launch

First, make sure that python is installed. Create a virtual environment (if you want to)

python/python3 -m venv venv
source /venv/bin/activate

(not necessary)

run the docker image provided to launch postgresql (telegram)

install dependencies:

pip install -r requirements.txt

open terminal in the app directory, and launch with:

uvicorn main:app --reload

OR

python3 -m uvicorn main:app --reload

Explaining the file structure

app     //main app
|-alembic      //Alembic -- database migration manager. Helps keep databases in sync and changeable (handles all SQL logic and keeps everything up-to-date) 
|   |- //All files irrelevant
|-apis          //Stores the actual API Endpoints. 
|   |-v1        //Main API endpoints
|-core          //Core project components 
|-db            //Stores database information and data
|   |-models    //Stores database models (represents SQL Tables)
|   |-repository    //Stores scripts to create, update and interact with the database
|-schemas       //Stores Pydantic data models (Kind of like db/models except for use in the API itself, not just the database. Uses for data validation and stuff)

Git Guide

  • Git Reference: despite its name it is more of a user guide.
  • “Pro Git” Book: by a core developer, also a thorough user guide.
  • Git Documentation: the official reference (also accessible with git help command)
  • Think Like a Git: a course for “advanced beginners” that know basic committing but want to make sense of the Git model. Especially useful if you come from SVN to really clear misconceptions about git.
  • Git Concepts Simplified: Similar to the previous link, but less in-depth and more straightforward.
  • Git Immersion: learn Git by using it on carefully crafted examples of increasing complexity.
  • Git from the bottom up: A book to learn git by first understanding the simplicity and beauty of its internals.
  • Git Magic: complete opposite of “Git from the bottom up” in that it treats Git as a magical gizmo you’ll learn to use without drowning into the underlying storage and history model.
  • Git questions on StackOverflow: comprehensive coverage of advanced matters.
  • Top 10 Git Tutorials for Beginners: A list of tutorials and resources. Contains another list of far more than 10 sites at the end.