Skip to content

Commit 12bc951

Browse files
committed
создана структура документации
1 parent 3951c30 commit 12bc951

24 files changed

Lines changed: 305 additions & 102 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ coverage.xml
5151
.hypothesis/
5252
.pytest_cache/
5353
.idea/
54+
.codex
5455

5556
# Translations
5657
*.mo

README.md

Lines changed: 22 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,31 @@
1-
# Procollab backend service
1+
# Procollab Backend
22

3-
## Usage
3+
Backend API для продукта Procollab.
44

5-
### Clone project
5+
## Стек
66

7-
📌 `git clone https://github.com/procollab-github/api.git`
7+
- Python
8+
- Django
9+
- Django REST Framework
10+
- Channels
11+
- Celery
12+
- PostgreSQL
13+
- Redis
814

9-
### Create virtual environment
10-
11-
🔑 Copy `.env.example` to `.env` and change api settings
12-
13-
### Install dependencies
14-
15-
* 🐍 Install poetry with command `pip install poetry`
16-
* 📎 Install dependencies with command `poetry install`
17-
18-
### Accept migrations
19-
20-
🎓 Run `python manage.py migrate`
21-
22-
### Run project
23-
24-
🚀 Run project via `python manage.py runserver`
25-
## For developers
26-
27-
### Install pre-commit hooks
28-
29-
To install pre-commit simply run inside the shell:
15+
## Базовые команды
3016

3117
```bash
32-
pre-commit install
33-
```
34-
35-
To run it on all of your files, do
36-
37-
```bash
38-
pre-commit run --all-files
39-
```
40-
41-
## Troubleshooting
42-
43-
## Errors caused by weasyprint
44-
45-
### MacOS
46-
47-
Error:
48-
```
49-
OSError: cannot load library 'pango-1.0-0': dlopen(pango-1.0-0, 0x0002): tried: 'pango-1.0-0' (no such file), '/System/Volumes/Preboot/Cryptexes/OSpango-1.0-0' (no such file), '/Users/yakser/.pyenv/versions/3.11.9/lib/pango-1.0-0' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/yakser/.pyenv/versions/3.11.9/lib/pango-1.0-0' (no such file), '/opt/homebrew/lib/pango-1.0-0' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/pango-1.0-0' (no such file), '/usr/lib/pango-1.0-0' (no such file, not in dyld cache), 'pango-1.0-0' (no such file), '/usr/local/lib/pango-1.0-0' (no such file), '/usr/lib/pango-1.0-0' (no such file, not in dyld cache). Additionally, ctypes.util.find_library() did not manage to locate a library called 'pango-1.0-0'
50-
```
51-
52-
Fix:
53-
54-
```shell
55-
brew install weasyprint
56-
```
57-
58-
### Windows
59-
60-
Error:
18+
poetry install
19+
poetry run python manage.py migrate
20+
poetry run python manage.py runserver
21+
poetry run python manage.py test
6122
```
62-
OSError: cannot load library 'gobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'gobject-2.0-0'
63-
```
64-
65-
Fix:
66-
67-
Go to [WeasyPrint docs](https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#windows) step by step install dependencies. If the error persists, add the path to the windows environment variable: `C:\msys64\mingw64\bin`
6823

24+
## Документация
6925

70-
## [Docs](/docs/readme.md)
26+
- [Навигация по документации](docs/readme.md)
27+
- [Разработка](docs/development.md)
28+
- [Архитектура](docs/architecture.md)
29+
- [API](docs/api.md)
30+
- [Инфраструктура и деплой](docs/devops-state.md)
31+
- [Доменные модули](docs/modules/readme.md)

docs/api.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# API
2+
3+
## Назначение
4+
5+
TODO
6+
7+
## Общие правила
8+
9+
TODO
10+
11+
## Аутентификация
12+
13+
TODO
14+
15+
## Ключевые сценарии
16+
17+
TODO
18+
19+
## Основные endpoint'ы
20+
21+
TODO
22+
23+
## Контракты
24+
25+
TODO
26+
27+
## Ограничения и особенности
28+
29+
TODO
30+
31+
## Swagger и Redoc
32+
33+
TODO

docs/architecture.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Архитектура
2+
3+
## Назначение backend
4+
5+
TODO
6+
7+
## Общая схема
8+
9+
TODO
10+
11+
## Доменные приложения
12+
13+
TODO
14+
15+
## Слой API
16+
17+
TODO
18+
19+
## Бизнес-логика
20+
21+
TODO
22+
23+
## Фоновые задачи
24+
25+
TODO
26+
27+
## WebSockets
28+
29+
TODO
30+
31+
## Хранилища и внешние зависимости
32+
33+
TODO

docs/development.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Разработка
2+
3+
## Требования
4+
5+
TODO
6+
7+
## Настройка окружения
8+
9+
TODO
10+
11+
## Локальный запуск
12+
13+
TODO
14+
15+
## Миграции
16+
17+
TODO
18+
19+
## Тесты
20+
21+
TODO
22+
23+
## Проверки качества
24+
25+
TODO
26+
27+
## Частые проблемы
28+
29+
TODO

docs/devops-state.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Инфраструктура и деплой
2+
3+
## Окружения
4+
5+
TODO
6+
7+
## Текущее состояние dev
8+
9+
TODO
10+
11+
## Текущее состояние prod
12+
13+
TODO
14+
15+
## Процесс релиза
16+
17+
TODO
18+
19+
## Rollback
20+
21+
TODO
22+
23+
## Операционные проверки
24+
25+
TODO
26+
27+
## Известные риски
28+
29+
TODO

docs/chats.md renamed to docs/modules/chats.md

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Chats
12
# Документация по вебсокетам чатов
23

34
## Общая инфа
@@ -86,10 +87,10 @@ class EventType(str, Enum):
8687

8788
```json
8889
{
89-
"type": "set_offline",
90-
"content": {
91-
92-
}
90+
"type": "set_offline",
91+
"content": {
92+
93+
}
9394
}
9495
```
9596

@@ -99,66 +100,66 @@ class EventType(str, Enum):
99100

100101
```json
101102
{
102-
"type": "new_message",
103-
"content": {
104-
"chat_type": {{"direct" | "project"}},
105-
"chat_id": {{"id1"_"id2"}}, // например: 1_2
106-
"message": {{string}},
107-
"reply_to": number | null
108-
}
103+
"type": "new_message",
104+
"content": {
105+
"chat_type": {{"direct" | "project"}},
106+
"chat_id": {{"id1"_"id2"}}, // например: 1_2
107+
"message": {{string}},
108+
"reply_to": number | null
109+
}
109110
}
110111
```
111112

112-
![New message event](img/event_new_message.png "New message event")
113+
![New message event](../img/event_new_message.png "New message event")
113114

114115
##### EventType.TYPING
115116

116117
```json
117118
{
118-
"type": "typing",
119-
"content": {
120-
"chat_type": {{"direct" | "project"}},
121-
"chat_id": {{"id1"_"id2"}}, // например: 1_2
122-
}
119+
"type": "typing",
120+
"content": {
121+
"chat_type": {{"direct" | "project"}},
122+
"chat_id": {{"id1"_"id2"}}, // например: 1_2
123+
}
123124
}
124125
```
125126

126127
##### EventType.READ_MESSAGE
127128

128129
```json
129130
{
130-
"type": "typing",
131-
"content": {
132-
"chat_type": {{"direct" | "project"}},
133-
"chat_id": {{"id1"_"id2"}}, // например: 1_2
134-
"message_id": {{number}}
135-
}
131+
"type": "typing",
132+
"content": {
133+
"chat_type": {{"direct" | "project"}},
134+
"chat_id": {{"id1"_"id2"}}, // например: 1_2
135+
"message_id": {{number}}
136+
}
136137
}
137138
```
138139

139140
##### EventType.DELETE_MESSAGE
140141

141142
```json
142143
{
143-
"type": "typing",
144-
"content": {
145-
"chat_type": {{"direct" | "project"}},
146-
"chat_id": {{"id1"_"id2"}}, // например: 1_2
147-
"message_id": {{number}}
148-
}
144+
"type": "typing",
145+
"content": {
146+
"chat_type": {{"direct" | "project"}},
147+
"chat_id": {{"id1"_"id2"}}, // например: 1_2
148+
"message_id": {{number}}
149+
}
149150
}
150151
```
151152

152153
##### EventType.EDIT_MESSAGE
153154

154155
```json
155156
{
156-
"type": "edit_message",
157-
"content": {
158-
"chat_type": {{"direct" | "project"}},
159-
"chat_id": {{"id1"_"id2"}}, // например: 1_2
160-
"message_id": {{number}},
161-
"message": {{string}}
162-
}
157+
"type": "edit_message",
158+
"content": {
159+
"chat_type": {{"direct" | "project"}},
160+
"chat_id": {{"id1"_"id2"}}, // например: 1_2
161+
"message_id": {{number}},
162+
"message": {{string}}
163+
}
163164
}
164165
```

docs/modules/core.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Core
2+
3+
TODO

docs/modules/courses.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Courses
2+
3+
TODO

docs/modules/events.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Events
2+
3+
TODO

0 commit comments

Comments
 (0)