Git Product home page Git Product logo

messenger's Introduction

Мессенджер

Это веб приложение реализовывает простейший мессенджер.

Технологии

Python, FastAPI, Alembic, SQLAchemy, Docker, Pytest, Makefile, Ruff

Как запускать:

  • На машине должен быть docker, docker-compose и make
  • запуск командой make upd

Конечные точки:

User

  • GET /api/user/profile/me
  • POST /api/user/register
  • GET /api/user/profile/{user_id}

Auth

  • POST /api/security/token

Messanger

  • GET /api/chat/id/{chat_id}
  • GET /api/chat/my
  • POST /api/chat/start_with
  • POST /api/chat/send_message

default

  • GET /

messenger's People

Contributors

kohiry avatar

Stargazers

 avatar

Watchers

 avatar

messenger's Issues

config.py - GodObject

В файле config.py создан класс PostgresSetting, что подразумевает, что в классе будут настройки относящиеся к базе данных, однако здесь используються и настройки для JWT-токена. Либо переименуй класс в общий(что опять же не желательно), либо создай отдельный класс JWTSettings.
branch: main
path: app/config.py
string: 13-16

Ошибки в Readme

веб приложение -> веб-приложение
реализовывает -> реализует
должен быть docker -> должны быть Docker
messanger -> messenger

branch: main
path: README.md
string: 3, 9, 21

tests error

Не увидел в тестах не одной преднамеренной ошибки, тесты пишутся не только для проверки того, что всё работает корректно, но и для выявления не предусмотренных ошибок с целью улучшения проекта.

branch: main
path: tests/

Incorect name file

Все файлы schemas.py должны быть названы schemes.py

user schemes

Не хватает валидаторов:

  • Максимальная длина логина
  • Минимальная длина логина
  • Действительность почты
  • Минимальная длина пароля
  • Надежность пароля

branch: main
path: app/user/schemas.py
string: 4-20

Docker test_postgres

Зачем создавать новую базу данных на другом порту с такими же параметрами что и основная, разве это не будет одна и та же база, но на разных портах? Если так и есть, то какой смысл вообще создавать бд для тестов, почему бы не использовать основную?

branch: main
path: docker-compose.yaml
string: 13-20

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.