Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/marse11e/docutrack-api-copy

Этот проект предоставляет API для управления документами и папками с функциями контроля доступа. Также он включает работу с пользователями, адресами и номерами телефонов. Проект основан на Django и Django Rest Framework (DRF).
https://github.com/marse11e/docutrack-api-copy

django django-rest-framework graphene-django

Last synced: about 1 month ago
JSON representation

Этот проект предоставляет API для управления документами и папками с функциями контроля доступа. Также он включает работу с пользователями, адресами и номерами телефонов. Проект основан на Django и Django Rest Framework (DRF).

Awesome Lists containing this project

README

        

# Документация для проекта

## Описание
Этот проект предоставляет API для управления документами и папками с функциями контроля доступа. Также он включает работу с пользователями, адресами и номерами телефонов. Проект основан на Django и Django Rest Framework (DRF).

## Установка

1. Клонируйте репозиторий:
```bash
git clone [email protected]:marse11e/DocuTrack-API-Copy.git
```
2. Перейдите в директорию проекта:
```bash
cd DocuTrack-API-Copy
```
3. Установите зависимости:
```bash
pip install -r requirements.txt
```
4. Примените миграции базы данных:
```bash
python manage.py migrate
```
5. Создайте суперпользователя:
```bash
python manage.py createsuperuser
```
6. Запустите сервер:
```bash
python manage.py runserver
```

## Основные компоненты

### API для документов и папок
- **Документы**: пользователи могут загружать документы, управлять доступом к ним, обновлять и удалять их.
- **Папки**: пользователи могут создавать папки для организации документов.

### API для пользователей, адресов и телефонов
- **Пользователи**: регистрация, авторизация и управление учетными записями.
- **Адреса**: хранение информации о геолокации, привязанной к пользователю.
- **Телефоны**: хранение и валидация телефонных номеров.

## API Эндпоинты

### Документы

1. **GET /api/documents/**: Получить список документов, доступных пользователю.
2. **POST /api/documents/**: Создать новый документ.
3. **GET /api/documents//**: Получить информацию о документе по его ID.
4. **PUT /api/documents//**: Обновить документ.
5. **DELETE /api/documents//**: Удалить документ.

### Папки

1. **GET /api/folders/**: Получить список папок пользователя.
2. **POST /api/folders/**: Создать новую папку.
3. **GET /api/folders//**: Получить информацию о папке по её ID.
4. **PUT /api/folders//**: Обновить папку.
5. **DELETE /api/folders//**: Удалить папку.

### Пользователи

1. **POST /api/token/**: Получить токен авторизации по логину и паролю.
2. **GET /api/users/**: Получить список всех пользователей (доступно только для авторизованных пользователей).
3. **POST /api/users/**: Создать нового пользователя.

### Адреса

1. **GET /api/addresses/**: Получить список адресов пользователя.
2. **POST /api/addresses/**: Добавить новый адрес.
3. **GET /api/addresses//**: Получить информацию об адресе по его ID.
4. **PUT /api/addresses//**: Обновить адрес.
5. **DELETE /api/addresses//**: Удалить адрес.

### Телефоны

1. **GET /api/phones/**: Получить список телефонов пользователя.
2. **POST /api/phones/**: Добавить новый телефон.
3. **GET /api/phones//**: Получить информацию о телефоне по его ID.
4. **PUT /api/phones//**: Обновить телефон.
5. **DELETE /api/phones//**: Удалить телефон.

## Контроль доступа

- Только авторизованные пользователи могут выполнять действия с документами, папками, адресами и телефонами.
- Пользователи могут делиться документами с другими пользователями, предоставляя им доступ.
- Управление доступом к ресурсам контролируется на уровне моделей и проверяется в каждом API запросе.

## Лицензия
Проект распространяется по лицензии MIT.

## Контакты
Если у вас есть вопросы или предложения, обращайтесь по электронной почте: [email protected].