• Как реализовать сайт наподобие google form?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день!
    1) есть сервер на ubuntu; 2) на него установил lamp

    Можно более простым способом обойтись и установить VestaCP
    https://vestacp.com/
    Но если нравится все ставить руками, то lamp в самый раз.
    Что касается выбора CMS, CMF или фреймворка, то тут зависит от вашего бюджета или навыков.
    С учетом того, что в ТЗ не было озвучено ничего специфичного, то CMS WordPress подойдет.
    Если будете делать на ВП, то вот, примерная инструкция:
    - установить плагин Advanced Custom Fields. Желательно, даже Pro
    - Создать кастомные поля (форму) куда пользователи смогут заносить свои данные
    Читаем как создать front-end форму
    - Создайте кастомный тип записи Читаем про register_post_type
    - А далее при сабмите формы из фронта создаете новый кастомный пост. Можно не публиковать пост сразу, а создавать его со статусом draft и отправлять админу уведомление о наличии нового поста (анкеты). Далее админ проверяет и публикует.
    - Ну а дальше остается это все лишь красиво вывести на сайте.
    Ну а если хотите написать с нуля, то можно и на фреймворках, типа Yii2, Laravel и др.

    Скажу честно, сама идея меня несколько напрягает. Смысл людям вбивать свои личные данные (ФИО, где и когда родился, инн, снилс, и копии каких либо документов), чтобы они были доступны другим людям? К тому же, вам надо обеспечивать безопасность этих данных иначе взломать ВП и украсть данные не такая уж и сложная задача. Особенно, когда устанавливают кучу обнуленных плагинов и т.д. Ну и чтобы не было проблем с юридической точки зрения, то надо бы тогда создать страницу "Политика конфиденцильности" и подробно написать, какие данные вы собираете у пользователей, как их храните, используете и есть ли доступ у третьих лиц к этим данным.

    Я бы подобное сделал бы на фреймворках, чтобы иметь возможность контролировать хранимые данные. Возможно, что данные в БД хранить в зашифрованном виде и дешифровать их при обращении к БД. Дополнительная мера безопасности так сказать...
    Ответ написан
    2 комментария
  • Как реализовать чтобы каждый пользователь заполнял таблицу после и в конечном итоге можно было сортировать их по пунктам?

    @haveacess
    Все что вы указали действительно реально реализовать при помощи таблиц используя лишь их внутренний функционал (ну или почти).
    Единственное что вам может потребоваться - хостинг/vps минимальной комплектации. Можно обойтись и без этого, например телеграмм ботом (тут речь о том как будут эти данные получаться)

    Ваша задача сводится к следующему: берем данные из таблицы > выбираем из них все что нужно > куда то отдаем в нужном формате (как у вас например в таблице) (вам необходимо будет создавать файл для этого, и подключать Google App Script к диску, файл заполнять нужными данными, и отдавать ссылку для скачивания файла ну или просто - отправлять файлом куда вам там нужно.

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

    Что у нас будет под капотом - веб сервис на Google App Script который
    - отбирает данные при обращении к нему согласно критериям
    - создает таблицу на вашем диске и отправляет данные туда
    - получает ссылку/файл на таблицу
    - отдает таблицу в виде ссылки или файла юзеру

    Бот или сайт
    - передает информацию сервису
    - сервис отдает данные
    - происходит скачивание

    Вкратце это вам и нужно

    ps, хостинг тут для проксирования - если отправлять запросы напрямую из сайта к сервису гугла будет ругаться на cors. Если использовать бота телеграмм хостинг не требуется
    Ответ написан
    Комментировать