mirror of https://github.com/doccano/doccano.git
Browse Source
Merge pull request #780 from kuraga/patch-2b
Merge pull request #780 from kuraga/patch-2b
Update project_structure.mdpull/856/head
Hiroki Nakayama
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 48 additions and 36 deletions
Unified View
Diff Options
@ -1,70 +1,82 @@ |
|||||
# Project Structure |
# Project Structure |
||||
|
|
||||
In doccano v1.x, the application consists of a frontend and backend API. They are stored in the `frontend` and `app` directories. |
|
||||
|
The important files/directories are as follows: |
||||
|
|
||||
```bash |
|
||||
. |
|
||||
├── app |
|
||||
|
``` |
||||
|
/ |
||||
|
├── app/ |
||||
|
├── frontend/ |
||||
|
├── nginx/ |
||||
|
├── tools/ |
||||
├── docker-compose.dev.yml |
├── docker-compose.dev.yml |
||||
├── docker-compose.prod.yml |
|
||||
├── frontend |
|
||||
├── nginx |
|
||||
└── tools |
|
||||
|
└── docker-compose.prod.yml |
||||
``` |
``` |
||||
|
|
||||
The other important files/directories are as follows: |
|
||||
|
Consider them: |
||||
|
|
||||
|
**[app/](https://github.com/doccano/doccano/tree/master/app)** |
||||
|
|
||||
|
The `app/api` directory contains backend code. See [below](#Backend). |
||||
|
|
||||
- [docker-compose.dev.yml](https://github.com/doccano/doccano/blob/master/docker-compose.dev.yml) |
|
||||
- [docker-compose.prod.yml](https://github.com/doccano/doccano/blob/master/docker-compose.prod.yml) |
|
||||
- [nginx](https://github.com/doccano/doccano/tree/master/nginx) |
|
||||
- [tools](https://github.com/doccano/doccano/tree/master/tools) |
|
||||
|
**[frontend/](https://github.com/doccano/doccano/tree/master/frontend)** |
||||
|
|
||||
|
The `app/api` directory contains frontend code. See [below](#Frontend). |
||||
|
|
||||
**[docker-compose.dev.yml](https://github.com/doccano/doccano/blob/master/docker-compose.dev.yml)** |
**[docker-compose.dev.yml](https://github.com/doccano/doccano/blob/master/docker-compose.dev.yml)** |
||||
|
|
||||
The `docker-compose.dev.yml` file contains 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.dev.yml` file contains [Docker Compose](https://docs.docker.com/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. |
||||
|
|
||||
**[docker-compose.prod.yml](https://github.com/doccano/doccano/blob/master/docker-compose.prod.yml)** |
**[docker-compose.prod.yml](https://github.com/doccano/doccano/blob/master/docker-compose.prod.yml)** |
||||
|
|
||||
The `docker-compose.prod.yml` file contains 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 `docker-compose.prod.yml` file contains [Docker Compose](https://docs.docker.com/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. |
||||
|
|
||||
**[nginx](https://github.com/doccano/doccano/tree/master/nginx)** |
**[nginx](https://github.com/doccano/doccano/tree/master/nginx)** |
||||
|
|
||||
The `nginx` directory contains a nginx configuration file and Docker container. They are used only in `docker-compose.prod.yml`. |
|
||||
|
The `nginx` directory contains a NGINX configuration file and Docker container. They are used only in `docker-compose.prod.yml`. |
||||
|
|
||||
**[tools](https://github.com/doccano/doccano/tree/master/tools)** |
**[tools](https://github.com/doccano/doccano/tree/master/tools)** |
||||
|
|
||||
The `tools` directory contains some shell scripts. They are used for CI, CD and so on. |
The `tools` directory contains some shell scripts. They are used for CI, CD and so on. |
||||
|
|
||||
## Frontend |
|
||||
|
|
||||
The directory structure of the frontend follows Nuxt.js one. See the Nuxt.js documentation for details: |
|
||||
|
Also, there are directories and files contain doccano v0.x codes. |
||||
|
In the future, they will be integrated into the currect code or removed: |
||||
|
|
||||
- [Nuxt.js/Directory Structure](https://nuxtjs.org/guide/directory-structure/) |
|
||||
|
``` |
||||
|
/ |
||||
|
├── app/ |
||||
|
├── └── server/ |
||||
|
└── docker-compose.yml |
||||
|
``` |
||||
|
|
||||
## Backend API |
|
||||
|
## Backend |
||||
|
|
||||
The directory structure of the backend api follows Django one. The important directories are as follows: |
|
||||
|
The directory structure of the backend follows [Django](https://www.djangoproject.com) one. |
||||
|
The important directories are as follows: |
||||
|
|
||||
```bash |
|
||||
. |
|
||||
├── api |
|
||||
├── app |
|
||||
├── authentification |
|
||||
└── server |
|
||||
|
``` |
||||
|
/ |
||||
|
├── app/ |
||||
|
├── ├── api/ |
||||
|
├── ├── app/ |
||||
|
└── └── authentification/ |
||||
``` |
``` |
||||
|
|
||||
**[app/api](https://github.com/doccano/doccano/tree/master/app/api)** |
|
||||
|
**[app/api/](https://github.com/doccano/doccano/tree/master/app/api)** |
||||
|
|
||||
The `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/api` directory contains backend API application. We use [Django Rest Framework](https://www.django-rest-framework.org) to implement the API. |
||||
|
If you want to add new API, change the contents of this directory. |
||||
|
|
||||
**[app/app](https://github.com/doccano/doccano/tree/master/app/app)** |
|
||||
|
**[app/app/](https://github.com/doccano/doccano/tree/master/app/app)** |
||||
|
|
||||
The `app` directory contains Django project settings. See [Writing your first Django app, part 1](https://docs.djangoproject.com/en/3.0/intro/tutorial01/#creating-a-project). |
|
||||
|
The `app/app` directory contains Django project settings. See [Writing your first Django app, part 1](https://docs.djangoproject.com/en/3.0/intro/tutorial01/#creating-a-project). |
||||
|
|
||||
**[app/authentification](https://github.com/doccano/doccano/tree/master/app/authentification)** |
|
||||
|
**[app/authentification/](https://github.com/doccano/doccano/tree/master/app/authentification)** |
||||
|
|
||||
The `authentification` directory contains authentification application. It is mainly used for user signup. |
|
||||
|
The `app/authentification` directory contains authentification application. It is mainly used for user signup. |
||||
|
|
||||
**[app/server](https://github.com/doccano/doccano/tree/master/app/server)** |
|
||||
|
## Frontend |
||||
|
|
||||
The `server` directory contains doccano v0.x codes. In the future, this directory will be integrated into the `api` directory. |
|
||||
|
The `frontent` directory structure of the frontend follows [Nuxt.js](https://ru.nuxtjs.org) one. |
||||
|
See the [Nuxt.js documentation](https://nuxtjs.org/guide/directory-structure/) for details. |
Write
Preview
Loading…
Cancel
Save