45 lines
1.6 KiB
Markdown
45 lines
1.6 KiB
Markdown
# Backend
|
|
|
|
This repository contains the backend code for the application. It utilizes **FastAPI** to quickly create a RESTful API that exposes the endpoints of the route optimizer.
|
|
|
|
## Getting Started
|
|
|
|
### Directory Structure
|
|
- The code for the Python application is located in the `src` directory. For further information, refer to the [src README](backend/src/README.md).
|
|
- Package management is handled with **pipenv**, and the dependencies are listed in the `Pipfile`.
|
|
- Since the application is designed to be deployed in a container, the `Dockerfile` is provided to build the image.
|
|
|
|
### Setting Up the Development Environment
|
|
|
|
To set up your development environment using **pipenv**, follow these steps:
|
|
|
|
1. Install `pipenv` by running:
|
|
```bash
|
|
sudo apt install pipenv
|
|
```
|
|
|
|
2. Create and activate a virtual environment:
|
|
```bash
|
|
pipenv shell
|
|
```
|
|
|
|
3. Install the dependencies listed in the `Pipfile`:
|
|
```bash
|
|
pipenv install
|
|
```
|
|
|
|
4. The virtual environment will be created under:
|
|
```bash
|
|
~/.local/share/virtualenvs/...
|
|
```
|
|
|
|
### Deployment
|
|
To deploy the backend docker container, we use kubernetes. Modifications to the backend are automatically pushed to a two-stage environment through the CI pipeline. See [deployment/README](deployment/README.md] for further information.
|
|
|
|
The deployment configuration is included as a submodule in the `deployment` directory. The standalone repository is under [https://git.kluster.moll.re/anydev/anyway-backend-deployment/](https://git.kluster.moll.re/anydev/anyway-backend-deployment/).
|
|
|
|
|
|
## Development
|
|
TBD
|
|
|