Pull to refresh

Выбор инструментов и подхода к разработке веб-приложения

Привет, Хабр. Ранее на сайте оставался в рядах наблюдателей, но вот настал момент и самому проявить активность — кстати как оказалось, сделать это не так-то просто и сначала нужно пройти тест на русский язык и на безоговорочную капитуляцию перед хабром, ну да ладно.

Итак, суть дела:

Недавно разработал простое веб-приложение, хотя даже и это громко сказано. По сути задача была следующая:

Есть база данных с несколькими таблицами, задача была уметь строить быструю и интерактивную веб-табличку на основе таблицы базы данных, со следующими возможностями:

— скрытие/отображение столбцов
— фильтрация и сортировка по любым столбцам (по всем данным таблицы, а не только по отображаемым)
— различное форматирование данных в зависимости от значений
— возможность выбирать определенные строки таблицы с перемещением выбранных вверх списка

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

Что же, всю эту работу я проделал и получилось все именно так, как я и хотел:

Инструментарий был выбран следующий:

— AngularJS
— Bootsrap
— PHP
— Обмен данными между клиентом и сервером JSON.

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

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

Собственно, прошу подсказать простыми практическими советами, о том, как можно организовать проект, чтобы его было легко разрабатывать, поддерживать и расширять:

— организация файлов проекта (что посоветуйте)
— организация взаимодействия с БД (организация самой БД)
— механизм подключения и использования отдельных модулей (через функции, классы и т.п.)
— другие советы от опытных

Инструментарий, который собираюсь использовать опять-таки:

— БД MySQL
— сервер php
— фронт angularJS, javascript, AJAX (без jquery хотелось бы обойтись)
— css обязательное требование mobile first. Здесь также буду раз совету, первый проект был на bootstrap, однако сейчас смотрю еще на w3.css похоже он проще и я нашел готовый шаблон, который мне подходит.

Также, чтобы было понятно, мой уровень знаний теории — прохождение цикла курсов с W3school + опыт реализации описанного проекта. Изначально в веб пришел из Joomla, опыт большой, но по части фундаментальных знаний, как уже понятно по верхам.

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

Спасибо.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.