Решил написать веб-приложение с простым функционалом, но исправно работающее. В чем собственно суть:
Будет браться изображение, к нему описание + файл .pdf на скачивание, потом выкладываться на сайт. Для этих целей, требуется проста административная панель.
Знаю js (angular, jquery), php (laravel). На чистом js естественно писать тоже могу, с php немного хуже. Вот и думаю, стоит ли вообще пихать php в приложение или оно будет прекрасно работать и без него?
Работы с базой данных предстоит много, по сути это будет библиотека, где будет следующая структура:
1) Заголовок
2) Изображение
3) Автор
4) Короткое описание
5) pdf файл
Опыт в разработке есть, но в подобных приложениях мало. Можно ли обойтись и без использования баз данных?
Можно все сделать в виде списка папок в ФС и внутрь помещать всю нужную информацию: файл-описание, изображения, таблицу параметров (автор или еще там что-то), PDF.
Структура категорий (если нужна) - делается отдельным файлом, где хранится информация об именах категорий, их взаимосвязях и "листовых" объектах (книгах).
Плюсы: возможность простого обновления базы с книгами (достаточно FTP-клиента).
Минусы: если нужен будет поиск по книгам/авторам и т.д., тогда нужно будет ИНДЕКСИРУЕМУЮ информацию из папок помещать в базу (mysql или создавать свою файл-базу в ФС) и автоматически актуализировать данные из папок ФС в этой базе.
Есть вариант взять ноду, на сервере поднять монгу. У монги есть файловое хранилище. Хранить файлы в нём, а информацию о пользователе в самой БД.
Бэкенд пишется на чём угодно. Знаешь js - бери ноду.
Далее есть пара вариантов:
1) писать всё приложение на expressjs (или аналогах), UI сделать в виде шаблонов с минимум логики на клиенте
2) написать на ноде api-сервис, на фронтенде взять ангуляр/реакт/ембер.
3) писать всё изоморфно на метеоре (или реакте, есть примеры изоморфных приложух на нём).
Лично я бы сделал api-сервис (правда на java/python, так как их больше люблю) с монгой в качестве БД, а на клиенте взял бы ангуляр (может даже и второй).