Проект Armodillo или ЦентрИзбирКом для вашей домашней демократии

Этот проект создавался на основе React.

Использованные технологии

  1. Технологии frontend
    1. Create React App.
    2. Classnames.
    3. React Router.
    4. Formik.
    5. TanStack Query v4.
    6. Redux.
    7. Redux Toolkit.
    8. Font Awesome.
    9. SASS.
    10. React-Toastify.
    11. Yup.
    12. Framer Motion.
  2. Технологии backend
    1. Express.
    2. Express-fileupload.
    3. Cookie-parser.
    4. Bcrypt.
    5. Morgan.
    6. JSONWebToken.
    7. Cors.

Доступные скрипты

В директории проекта можно запустить:

npm start

Запускает приложение в режиме разработки.
Откройте http://localhost:3000 для просмотра в вашем браузере. Страница перезапускается при внесении изменений в код.

Backend

Во вложенной директории backend расположен сервер для проекта. Там можно выполнить команды npm start для запуска бэкенд сервера или npm run dev для запуска сервера через nodemon.

Основной функционал проекта

  • Главная страница проекта. Ответственный исполнитель: @KatlinBulycheva
  • Страница создания опроса. Ответственный исполнитель: @AnnaArmodillo
  • Страница входа в приложение. Ответственный исполнитель: @DYAlex
  • Страница регистрации в приложении. Ответственный исполнитель: @DYAlex
  • Страница профиля. Ответственный исполнитель: @lev33
  • Страница опросов, созданных текущим пользователем. Ответственный исполнитель: @lev33
  • Страница опросов других авторов, которые посещал текущий пользователь.Ответственный исполнитель: @KatlinBulycheva
  • Страница опроса, в котором можно выбрать только один вариант ответа, если его никто до этого не выбрал (примерно как забронировать определенное место, чтобы никто другой уже не мог на него сесть). Ответственный исполнитель: @AnnaArmodillo
  • Страница опроса, в котором можно выбрать только один вариант ответа на вопрос. Ответственный исполнитель: @DYAlex
  • Страница опроса, в котором можно выбрать несколько вариантов ответа на вопрос. Ответственный исполнитель: @DYAlex
  • Страница контактов разработчиков. Ответственный исполнитель: @KatlinBulycheva
  • Страница справки по работе в приложении. Ответственный исполнитель: @KatlinBulycheva
  • Страница всех опросов, созданных всеми пользователями приложения. Ответственный исполнитель: @DYAlex
  • Страница отправки другим пользователям приглашений пройти опрос, созданный текущим пользователем. Ответственный исполнитель: @AnnaArmodillo

План развития проекта

  • Возможность менять статус опроса на "Закрыт для голосования"
  • Возможность удалять из базы данных опрос, созданный текущим пользователем
  • Возможность редактировать профиль пользователя, в том числе менять имя пользователя, пароль, аватар
  • Возможность создания у пользователей уникального логина
  • Возможность приглашать других пользователей к участию в опросе по логину
  • Возможность для автора опроса ограничивать доступ к опросу определенным кругом пользователей
  • Возможность для участников опроса предлагать свои варианты ответов, если автором опроса это было разрешено
  • Представление результатов голосования в виде чартов
  • Привлечение в состав команды разработки дизайнера для улучшения визуальной составляющей проекта
  • Привлечение в состав команды backend-разработчика для развития и поддержки бэкенда проекта

Известные баги

  • [WONTFIX] При загрузке изображения на бэкенд сервере идет проверка только по mimetype, что может привести к потенциальным проблемам в плане безопасности. Разработка этого сервера не входит в задачи команды по фронтенду и потому работы по исправлению здесь вестись не будут.
  • [IN PROGRESS] На мобильных устройствах страница регистрации в проекте растягивается по ширине больше ширины экрана. Ошибка найдена и будет исправлена в следующем релизе.