Какой алгоритм разработки клиент-серверного приложения?
Сразу оговорюсь, суть вопроса может показатся глупой, но:
обясните мне, какие правильные шаги я должен сделать чтоб разработать полноценное клиент-серверное приложение сам, имея три технологии: Angular(клиент), Node.js(сервер), PostgreSQL(бд)
Обясню проблему. Начал пилить проект. Создал клиент, потом в том же проекте начал пилить сервер. Потом подумал, наверное это не правильно, и перенес сервер на оттдельный проект. Не знаю правильное ли решение.
Дальше сижу думаю. А как делают с БД. Создают в ручную все таблицы или прописуют скрипт чтоб автоматом сервер развертывал БД, если таблиц для работы нет? Мое понимание что автоматом, где то должен быть инициализующий скрипт. Ищу уроки на эту тему но тяжело найти. Полно про подключение, но как инициализировать. И вот я думаю, правильно ли я мыслю? Или БД переносят вручную на хостинг потом?
Ну и еще есть вопросы которые я устраняю по ходу дела. Но укажите в какую сторону нужно двигатся чтобы я понял основные этапы разработки. Видео какое-то или курс не длинный без воды. Или сами опишите.
Я самоучка, по этому не понимаю некоторых нюансов. Если что опыт в самом програмировании есть, но в другой сфере(не клиент-сервер без прямых запросов и подключений к БД)
В таких случаях используют паттерны разработки.
Я б посоветовал начать с MVC (Model View Controller)
Для работы с БД в Node.js советую юзать ORM(это паттерн изучение которого поможет в многих проектах). для node+postgres советую sequelize это даст вам M из MVC. то есть модели.
Далее за V у вас будет отвечать Angular, ну а контроллеры придётся писать самому. Поставьте себе серверный проект типа Express и гуглите гуглите гуглите))
Не знаю как в ноде, но в ASP.NET можно и предпочтительно делать проект используя подход Code First, который предполагает использование миграций для генерации таблиц из кода в БД.