Какой выбрать стек технологий?



@Duprer

Я пишу для себя первый относительно «большой» проект и мне нужна помощь в том, что с чем связать и как заставить это работать.
Идея заключается в следующем:
1) Есть база данных, в которой, например, хранятся владельцы и номера автомобилей.
2) Есть видеопоток, на котором, например, обнаруживаются автомобильные номерные знаки и отправляется запрос в базу данных для проверки его наличия. В результате возвращается какой-то результат.
3) Для этой базы данных я хочу создать WEB с личной учетной записью и реализацией в виде пользователя — администратора.
User — базово может изменять свои личные данные, тем самым изменяя записи в базе данных.
Admin — они могут использовать какую-то панель администратора или что-то в этом роде, чтобы получать некоторую статистику из базы данных, читать журнал и т.д.
4) Мобильное приложение для Android, которое по сути повторяло бы функциональность WEB, но со своими собственными оговорками.

В принципе, я думаю о чем-то подобном:
1) PostgreSQL
2) Python + Tenserflow и/или что-то в этом роде + psycopg2
3) Python + Flask и связанное с этим, например, Bootstrap и тому подобное
4) Android Studio, Kotlin + что-то для работы с БД

По п.2, ожидается, что не будет необходимости отслеживать сразу несколько объектов и отправлять несколько параллельных запросов. Однако это не исключено.

Скажите, что вы думаете о таком стеке, будет ли оно работать вообще? Возможная структура, какие-то мысли?
Может быть другие варианты, более лучше/оптимальные?

Я напоминаю вам, что у меня нет опыта работы с чем-то настолько большим.


Решения вопроса 0


Ответы на вопрос 3



@Mike_Ro

Какой выбрать стек технологий?

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

Учитывая, что Вы указали Python, то:
— Back: Python + Django или FastAPI (если не будет хватить Django).
— Front: Python (Django templates), либо отдельный фронт на React/Vue (если будет иметь смысл).

Python + Flask и связанное с этим, например, Bootstrap и тому подобное

Bootstrap не имеет никакого отношения к Python и его экосистеме.

Мобильное приложение для Android, которое по сути повторяло бы функциональность WEB, но со своими собственными оговорками.

От самого простого:
Cordova.
React Native.
Flutter.
— Java и Kotlin смысла не вижу рассматривать в Вашем случае.



@ThunderCat

2) Есть видеопоток, на котором, например, обнаруживаются автомобильные номерные знаки и отправляется запрос в базу данных для проверки его наличия. В результате возвращается какой-то результат.

Обычно делается полная обработка видео до конца, после чего все найденные номера пишутся в базу с метками времени, по необходимости делаются снэпшоты конкретного фрейма и сохраняются отдельно, ссылка на место хранения картинки так же пишется в бд. Далее уже можно делать запросы в бд на сопоставление двух таблиц — имеющегося списка владельцев и распознанных номеров. По необходимости заводится табличка связей, типа найдено юзер.айди / парсед_нумбер.айди для того чтобы не бегать с выборочными запросами по пользователю и т.п…

3) Для этой базы данных я хочу создать WEB с личной учетной записью и реализацией в виде пользователя — администратора…

Это базовый функционал любого современного фреймворка, авторизация и роли. Здесь вы никакого функционала по идее не пишете вообще. Только создаете и настраиваете соответствующие роли и права. «создать WEB» в вашем случае логично просто написав АПИ с десятком рутов, далее будет не особо важно будет ли у вас веб страничка или приложение.

1) PostgreSQL

Любая рбд. Специфичных задач я тут не вижу, подойдет все что можно установить и с чем вы знакомы лучше.

2) Python + Tenserflow и/или что-то в этом роде + psycopg2

Опять же, задача чисто прикладная, любые инструменты выполняющие поставленную задачу подойдут. Производительность и качество можно проверить только тестами на конкретных данных.

По п.2, ожидается, что не будет необходимости отслеживать сразу несколько объектов и отправлять несколько параллельных запросов. Однако это не исключено.

Это в любом случае будет работа с командной строкой, любой процесс из которой можно запустить отдельным потоком.

3) Python + Flask и связанное с этим, например, Bootstrap и тому подобное

Скорее всего апи на любом фреймворке + какой-нибудь реакт/вью.

4) Android Studio, Kotlin + что-то для работы с БД

По описанию скорее какой-нибудь PWA хватит с головой. Вся работа с бд идет через апи, ничего дополнительного особо придумывать не надо.

Я напоминаю вам, что у меня нет опыта работы с чем-то настолько большим. Спасибо.

Слона едят по кускам. Разбейте задачи на понятные подзадачи и решайте все в порядке реализации. Каких-то инновационных фичей я тут не вижу, все строится либо на готовых модулях/приложениях, либо на достаточно примитивной логике, так что задача вполне по силам новичку, хоть и придется поработать.



@va_k

Могу сказать, что если нормально напишете то всё будет работать. План нормальный. Это не шутка и не сарказм.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *