Giter Club home page Giter Club logo

habittrackerapi's Introduction

HabitTrackerAPI

Маленький API для приложения - трекера полезных привычек.
Поддерживает отправку уведомлений через telegram(pytelegrambotapi 4.14.0) и работу с периодическими задачами(redis 5.0.1).


Документация:

Swagger:

api/v1/docs/swagger/

Redoc:

api/v1/docs/redoc/

Библиотеки, используемые в проекте:

python 3.11
django 4.2.5
djangorestframework 3.14.0
psycopg2 2.9.7
python-dotenv 1.0.0
django-filter 23.3
djangorestframework-simplejwt 5.3.0
drf-yasg 1.21.7
django-celery-beat 2.5.0
celery 5.3.4
django-cors-headers 4.2.0
pytelegrambotapi 4.14.0
redis 5.0.1

Установка:

  1. Установите зависимости проекта

poetry install

  1. Добавьте переменные окружения, описанные в файле .env_sample в файл .env, созданный в корневой директории вашего проекта
  2. Создайте миграции

python3 manage.py migrate

  1. Запустите телеграм-бота командой

python3 manage.py tg_bot

  1. Запустите Celery worker

celery -A config worker -l info

  1. Запустите Celery beat

celery beat python -m celery -A config beat -l info

Создание Docker-образа приложения:

  1. Скачайте Docker по инструкции из документации: https://docs.docker.com/desktop/

  2. Клонируйте Dockerfile

  3. В терминале выполните команду

docker build -t habit_tracker_app .

Запуск контейнера:

Выполните команды в терминале:

  1. Сборка образа

docker-compose build

  1. Запуск контейнеров

docker-compose up

  1. Применение миграций

docker-compose exec app python manage.py migrate

habittrackerapi's People

Contributors

karr0ll avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.