https://github.com/mikefromru/cvsreader
A web application for upload CVS file and extract data to save in DB
https://github.com/mikefromru/cvsreader
django django-rest-framework docker docker-compose python
Last synced: 3 months ago
JSON representation
A web application for upload CVS file and extract data to save in DB
- Host: GitHub
- URL: https://github.com/mikefromru/cvsreader
- Owner: mikefromru
- Created: 2023-08-25T10:31:51.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-05T03:12:08.000Z (almost 3 years ago)
- Last Synced: 2025-01-21T07:43:15.936Z (over 1 year ago)
- Topics: django, django-rest-framework, docker, docker-compose, python
- Language: Python
- Homepage:
- Size: 324 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CSVReader
Веб-сервис на базе django, предоставляющий REST-api. Принимает из POST-запроса .csv файл для обработки. Сохраняет извлеченные из файла данные в БД и возвращает обработанные данные в ответе на GET-запрос.
### Требования к проекту
Проект запускается одной командой. Необходимо иметь пользователя `csvreader` в БД Postgres, такжe название БД `csvreader`
### Технологии
- Django
- Django REST Framework
- Docker
- Docker compose
- Postgres
### Начать
1. Клонировать репозиторий
```
git clone https://github.com/mikefromru/cvsreader.git
```
2. Прейти в папку с проектом
```
cd cvsreader
```
3. Переименовать файл `.env.EXAMPLE` в `.env` который находится в каталоге `project/project`
4. Из корня проекта где находится `Dockerfile` запустить команду
```
docker-compose --env-file project/project/.env up
```
### Использование
- Получить обработанные данные GET `http://0.0.0.0:800/csv-file`
- Загрузить файл для обработки и добавления в БД POST `http://0.0.0.0:8000/csv-file`
- Можно воспользоваться `client.py` который находится в `project/client.py` файл для выполнения POST и GET запросов `python client.py`. Это консольная программа с простым интерфейсом.
##### Зависимости для консольной программы `client.py`
```
pip install requests simple_term_menu art
```