3.0 KiB
Project Structure
The important files/directories are as follows:
/
├── app/
├── frontend/
├── nginx/
├── tools/
├── docker-compose.dev.yml
└── docker-compose.prod.yml
Consider them:
The app/
directory contains backend code. See below.
The frontend/
directory contains frontend code. See below.
The docker-compose.dev.yml
file contains Docker Compose configuration to run a development environment.
Once we run the command docker-compose -f docker-compose.dev.yml up
, compose runs backend API and frontend development containers.
The docker-compose.prod.yml
file contains Docker Compose configuration to run a production environment.
We adopted the three tier architecture. Once we run the command docker-compose -f docker-compose.prod.yml up
, compose builds frontend and runs DBMS, backend API and web server containers.
The nginx
directory contains a NGINX configuration file and Docker container. They are used only in docker-compose.prod.yml
.
The tools
directory contains some shell scripts. They are used for CI, CD and so on.
Also, there are directories and files contain doccano v0.x codes. In the future, they will be integrated into the current code or removed:
/
├── app/
├── └── server/
Backend
The directory structure of the backend follows Django one. The important directories are as follows:
/
├── app/
├── ├── api/
├── ├── app/
└── └── authentification/
The app/api
directory contains backend API application. We use Django Rest Framework to implement the API.
If you want to add new API, change the contents of this directory.
The app/app
directory contains Django project settings. See Writing your first Django app, part 1.
The app/authentification
directory contains authentification application. It is mainly used for user signup.
Frontend
The frontent
directory structure of the frontend follows Nuxt.js one.
See the Nuxt.js documentation for details.