Skip to content

Project Overview April 21 2020

Emerson Castaneda edited this page Sep 22, 2020 · 1 revision

Project Overview:

GitHub Project Board

Folders Structure:

housinghub
├───.github
│   └───workflows
├───backend
│   ├───alembic
│   │   └───versions
│   ├───docs
│   ├───src
│   │   ├───app
│   │   │   └───templates
│   │   ├───models
│   │   ├───services
│   │   └───test
│   └───venv
│       ├───Include
│       ├───Lib
│       │   ├───site-packages
│       └───Scripts
└───frontend
    ├───public
    └───src
        ├───actions
        ├───api
        ├───components
        ├───containers
        ├───reducers
        └───style

backend folder:

alembic folder: utility for database migrations

usage example:

$ cd backend/alembic  
$ alembic revision -m ‘create foo table’  
Generating /../../..//../.../versions/8238971238712_create_foo_table.py ...done ` 

images/5-1.png

src folder:

app folder:

flask -> Blueprint

How to define entry points and method handlers:

images/5-2.png

Serializing and deserializing Python Dictionaries with marshmallow:

images/5-3.png

images/5-4.png

API Spec library to autogenerate Swager stuff

Autogenerate marshmallow from SQL using SQLAlchemyAutoSchema

images/5-5.png

images/5-6.png

images/5-7.png

Services for modularizing common functionality like data base interaction, authentication, container, etc :

images/5-8.png

images/5-9.png

Authentication @authenticate decorator to simplify the definition of authenticated end points:

images/5-10.png

frontend folder:

A classic react application with: components and containers (html and js), store (reducers), api (communication with the backend), and style (css)

images/5-11.png

Entry Point:

images/5-12.png

Workflow:

images/5-13.png

Login workflow:

images/5-14.png

Storage in the browser and place in the code

images/5-15.png