Решён
На каком языке лучше делать сайт с опросами и голосованиями?

Илья MTG Веб-разработка
2.7k
6

Нужно сделать сайт для внутренних опросов сотрудников компании (около 200 человек). Функционал:

  • Создание опросов админом (вопросы с вариантами ответов)
  • Голосование сотрудниками (анонимно или с авторизацией)
  • Просмотр результатов в реальном времени (графики, проценты)
  • Экспорт результатов в Excel

Я джуниор разработчик, знаю Python (Django немного) и JavaScript на базовом уровне. На каком языке лучше делать такой сайт? Или может готовое решение взять?

Решение
77
Участник • 2 ответа

Django + HTMX - идеальный стек для твоей задачи.

Django из коробки дает:

  • Админку (создание опросов без написания UI)
  • ORM (работа с базой данных)
  • Авторизацию пользователей
  • Экспорт в CSV/Excel через библиотеки (openpyxl, pandas)

HTMX добавит интерактивность без тяжелого JS фреймворка:

  • Обновление результатов в реальном времени
  • Отправка голосов без перезагрузки страницы

Графики - Chart.js (простая JS библиотека).

Пример структуры:

# models.py
class Poll(models.Model):
    title = models.CharField(max_length=200)
    created_at = models.DateTimeField(auto_now_add=True)

class Question(models.Model):
    poll = models.ForeignKey(Poll, on_delete=models.CASCADE)
    text = models.CharField(max_length=500)

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

Вся логика на Python, фронт минимальный. За неделю осилишь.

Аватар Илья MTG

Спасибо! HTMX не знал вообще, изучу. А авторизацию через корпоративный AD можно прикрутить?

Аватар Денис Брокер

Да, через django-auth-ldap. Интеграция с Active Directory штатная, примеров полно в доках.

48
Эксперт • 2 ответа

Готовое решение: LimeSurvey (open source).

Ставится на любой хостинг с PHP, настраивается через веб-интерфейс. Все что нужно уже есть:

  • Конструктор опросов
  • Разные типы вопросов (одиночный выбор, множественный, текст)
  • Анонимность или авторизация
  • Графики и статистика
  • Экспорт в Excel/SPSS/PDF

Минус - интерфейс немного старомодный, но функционал мощный. Для внутреннего корпоративного использования вполне.

27
Участник • 3 ответа

Node.js + Express + React.

Бэк на Express (или Fastify для скорости), фронт на React. WebSocket для real-time обновления результатов голосования.

БД - PostgreSQL. Графики - Recharts или Victory (React-библиотеки).

JS fullstack - один язык на фронте и бэке, проще поддерживать.

30
Эксперт • 2 ответа

PHP + Laravel. До сих пор актуален для веб-разработки, несмотря на хейт.

Laravel дает все что нужно:

  • Livewire для реактивности без написания JS
  • Eloquent ORM
  • Встроенная авторизация
  • Blade шаблоны

Экспорт в Excel - пакет Laravel Excel.

Хостинг дешевле чем под Django, настройка проще.

66
Участник • 5 ответов

Если джуниор - бери Django. Ты его уже немного знаешь, документация отличная, комьюнити огромное.

Не усложняй. Для 200 человек не нужны вебсокеты и реакт. Простой Django + Bootstrap для верстки + немного jQuery для интерактивности - и все полетит.

Через месяц сдашь проект, получишь опыт, добавишь в портфолио.

9
Эксперт • 3 ответа

Google Forms не подойдет? Бесплатно, работает из коробки, результаты в гугл таблицах, графики автоматом.

Если нужна кастомизация или интеграция с корпоративной системой - тогда да, пиши свое.

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.