Code Monkey home page Code Monkey logo

drt's Introduction

DRT

Web-приложение, предназначенное специально для автоматизации внутри офисного взаимодействия.

В наше непростое время, полезно оптимизировать личные встречи работников офиса между собой. DRT позволит автоматизировать рутинные действия, такие, как бронь переговорки или стола в опенспейсе, заказ различных продуктов и вещей первой необходимости для офиса.

Компоненты:

  • Клиент: Реализована с использованием стека технологий JavaScript+HTML+CSS

    • Карта офиса
    • Форма отправки заявки
    • Форма создания объявлений (привелигированные пользователи)
    • Интерфейс просмотра объявлений
    • Интерфейс администрирования
  • Сервер: Технологии: Python3, Flask, SQLAlchemy, PostgreSQL

    • Обработка запросов клиента
    • Взаимодействие с базой данных
    • Проверка прав доступа
    • Отправка данных клиенту
    • Менеджмент заявок и ресурсов

Точки расширения

  1. Различные права доступа:
  • Админ. (✔️)
  • Фуллтайм разработчик (✔️)
  • Стажер.
  • Хозяюшка. (✔️)
  1. Доска объявлений(или чат)
  • Отправка сообщений (✔️)
  • Отправка картинок с различным расширением
  • Опросы
  1. Запросы
  • Бронирование рабочих мест и переговорок (✔️)
  • Заказ чего угодно у хозяюшки (✔️)
  • Одобрение заказов (✔️)

Слои:

  1. UI: Взаимодействие с пользователем производится либо через браузер, либо через Telegram бота. Получая информацию, форматирует ее соответствующим образом (классы), и передает в Application. И в обратную сторону: получает информацию и обновляет клиентский интерфейс с учётом новых данных.

  2. Application: Интерфейсы для работы с Web версией приложения или Telegram бота.

  3. Domain: Имеются несколько абстрактных классов, каждый из которых отвечает за определенную функцию. Реализаций может быть несколько, например абстрактный класс User, определяет пользователя, а его реализации будут разными, в зависимости от его прав доступа, например AdminUser, Employee e t.c.

  4. Infrastructure: Взаимодействие с базой данных alt text

Паттерны back-end:

  • Декоратор... Куда без него в питоне с Flask

  • Делегирование

  • DI-container с использованием di-container

Паттерны front-end:


Состав команды разработки:

  • Анчутин Никита
  • Ложкин Александр
  • Фролов Юрий
  • Юрченко Степан

drt's People

Contributors

dependabot[bot] avatar einkrebs avatar lololozhkin avatar nichuse avatar stephanyorchenko avatar

Stargazers

 avatar

Watchers

 avatar

drt's Issues

8.12

  1. Фичи: Request, добавленние announcement
  2. Хуёвый фронт
  3. DI в базе данных

1.12

Добавить DomainTypeRecord и RecordProvider, отвечающие за обращение к базе данных
В json объекты domain нужно превращать на фронте
Разделить фронт на слои: ui, application и работа с данными

Замечания 10.11

Про DDD:
Сериализация Record - в infarstructure, доменной области - в application. Если нужна сериализация на фронте - писать ещё одну на фронте. Domain не должен знать про базу данных. Application склеивает Domain и инфраструктуру.
Остальное:
Ирверсия зависимостей(announcement.get_announcements и т.п.)
Должна быть одна точка входа, где будет собираться всё.

Замечания 3.11

  • классы, ответственные за сериализацию, в Application;
  • DBConn - в ифраструктуру.

22.12

  1. Нужно сделать обёртку над db-классами(создавать их в провайдере), чтобы контейнер их собирал - первоочередная задача;
  2. Лучше сделать своё исключение для прав доступа;
  3. Убрать DB:

24.11

Можно перевести serializers на делегирование

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.