https://github.com/profcomff/services-api
Бэкэнд списка сервисов приложения Твой ФФ для профкома ФФ МГУ
https://github.com/profcomff/services-api
aggregator-app
Last synced: 7 months ago
JSON representation
Бэкэнд списка сервисов приложения Твой ФФ для профкома ФФ МГУ
- Host: GitHub
- URL: https://github.com/profcomff/services-api
- Owner: profcomff
- License: bsd-3-clause
- Created: 2022-11-05T17:04:52.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-29T13:51:31.000Z (over 1 year ago)
- Last Synced: 2025-04-15T09:52:36.053Z (12 months ago)
- Topics: aggregator-app
- Language: Python
- Homepage:
- Size: 136 KB
- Stars: 12
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# services-api
Бэкэнд сервисов приложения Твой ФФ для профкома ФФ МГУ. Реализует логику работы с кнопками и категориями в приложении.
Репозиторий был создан для упрощения работы фронтэнд-разработчиков с бэкэндом сервисов, для переноса данных кнопок и категорий из захардкодженного json файла в Postgresql базу данных (cringe) и для разграничения доступа.
[
](https://easycode.profcomff.com/templates/docker-fastapi/workspace?mode=manual¶m.Repository+URL=https://github.com/profcomff/services-api.git¶m.Working+directory=services-api)
## Функционал
- Создание кнопок и категорий для отображения на фронте (в приложении)
- Управление доступами к категориям кнопок
- Редактирование любых атрибутов/полей кнопое и категорий
## Разработка
Backend разработка – https://github.com/profcomff/.github/wiki/%5Bdev%5D-Backend-разработка
CONTRIBUTING.md - [CONTRIBUTING.md](CONTRIBUTING.md)
## Quick Start
1) Перейдите в папку проекта
2) Создайте виртуальное окружение командой:
```console
foo@bar:~$ python3 -m venv ./venv/
```
3) Установите библиотеки
```console
foo@bar:~$ pip install -m requirements.txt
```
4) Установите все переменные окружения (см. CONTRIBUTING.md)
5) Запускайте приложение!
```console
foo@bar:~$ python -m services-backend
```
## Использование
1) Создание категории кнопок
*Необходимо иметь права services.category.create*
1. Создать новую категорию по запросу `POST /category` с телом `{"name": "имя_категории", "type": "тип отображения категории в приложении"}`
2. *Необходимо иметь права services.button.create* Создать в категории новую кнопку по запросу `POST /category/id_категории/button` с телом `{"name": "имя кнопки", "icon": "ссылка на иконку", "link": "ссылка сервиса, на которую ведет кнопка", "type": "тип ссылки"}`
3. *Опционально* Навесить права запросом `POST /category/{category_id}/scope` с телом `{"name": "название права доступа"}`
2) Получение категорий кнопок
*Нет необходимых прав*
1. Получить категории по запросу `GET /category`
2. *Опционально* Выбрать отображение кнопок принадлежащих категории по запросу `GET /category?info=buttons`
3) Удаление категории кнопок. *Необходимо иметь права services.category.delete*
ВАЖНОЕ УТОЧНЕНИЕ: При удалении категории все кнопки, принадлежащей ей также удаляются.
1. Удалить категорию кнопок по запросу 'DELETE /category/{category_id}
## Параметризация и плагины:
Никаких настроек кроме стандартных нет
## Ссылки:
Документация проекта - https://api.test.profcomff.com/?urls.primaryName=services#
Backend разработка – https://github.com/profcomff/.github/wiki/%5Bdev%5D-Backend-разработка
CONTRIBUTING.md - [CONTRIBUTING.md](CONTRIBUTING.md)