Skip to content

Development

Ari Sosnovsky edited this page Jul 29, 2022 · 3 revisions

Folder Structure

This repo is a monorepo that contains both frontend and backend code.

Anything not documented below is subject to be deprecated in the near future.

.
├── api # contains API code
│   ├── Makefile # commands specific to the development of the backend
│   ├── pyproject.toml 
│   ├── setup.py
│   ├── src # source code for backend
│   └── tests # tests for backend
├── webapp # contains the frontend
│   ├── public
│   ├── src
│   ├── tsconfig.json
│   ├── package.json
│   └── yarn.lock
├── docker # contains docker related scripts
├── example 
├── Dockerfile # base image for the addon

Prequesites

I am currently using VSCode for development of both the backend and frontend. This repo has some configurations that make using this editor nicer to use. (But feel free to use whatever you want!).

In general you do need the following installed:

Backend (API)

Currently the API is written with Python 3.9+ using the FastAPI framework. The project utilises pytest as the framework for testing and relies heavily on python optional typing system for correctness.

Setup Local Development

I would suggest opening the project from the ./api folder rather than the root level of the project. While in the ./api folder run the command make setup. This will configure a python virtual environment with all of the required dependencies for local development. To see other commands read the api readme.

Frontend

See frontend readme.

Clone this wiki locally