Сперва постройте подробное ТЗ, чтобы самому определиться с функциональностью приложения. Иногда мелочи бывают неочевидными, наталкиваешься на них на этапе реализации и под них приходится перепроектировать БД, переделывать кучу запросов, чтобы добиться нормального быстродействия. После составления ТЗ делайте правильное проектирование БД, закладывайте возможность ее роста. Заложите возможность масштабирования, добавления новых полей в ПО. Потом начинайте клепать фронтэнд, добавляя функционал бакэнда по мере работы и тут же проверяйте работу фронтэнда. Некоторые задачи не дадут вам выбирать порядок действий, исходные условия могут заставить вас поменять порядок действий. К примеру, БД может быть импортирована из другого проекта, вас могут привлечь к разработке или расширению фронтенда для существующего бакэнда.