Giter VIP home page Giter VIP logo

gr0up10 / minute-of-fame Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 7.71 MB

A streaming service where all users watch the same stream. Everyone has the opportunity to join the queue. When it's your turn, a minute-long stream begins. If your stream gets more likes than dislikes, you are given another minute of time, otherwise next user starts stream.

Dockerfile 0.90% Python 17.75% JavaScript 25.58% CSS 23.62% HTML 31.05% Shell 1.02% Batchfile 0.08%
webrtc python docker ci ci-cd streaming-service streaming-server webrtc-demos redis django django-framework javascript html css postgres posgresql microservices

minute-of-fame's Introduction

Minute of fame

English

Minute of Fame is a streaming service where all users watch the same stream. Everyone has the opportunity to join the queue. When it's your turn, a minute-long stream begins. If your stream gets more likes than dislikes, you are given another minute of time, otherwise next user starts stream.

Architecture: Picture
Video: Presentation

Russian

Минута славы - это стриминговый сервис, в котором все пользователи смотрят один стрим. У каждого есть возможность встать в очередь. Когда подходит ваша очередь, начинается стрим длинной в минуту. Если ваш стрим набирает лайков больше, чем дизлайков, вам выдаётся ещё минута времени. На сайте есть страница Top. Там располагается топ-10 стримеров по количеству просмотров.

Ниже вы найдете более подробную информацию о проекте: презентацию, информацию о запуске, паттернах, архитектуре и разработчиках.

Презентация

https://youtu.be/hHPdV-yy1Vg

Запуск

Что бы запустить проект через docker-compose используйте следующие комманды

docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 dockernet

docker-compose up --build

Если вы не хотите каждый раз пересобирать контейнер, выполните следующие команды

  1. Установите nodejs, npm и postgres
  2. Запустите зависимые процессы через специальный docker-compose конфиг docker-compose -f docker-compose.dev.yml up -d (эта команда запустит контейнеры в фоне, так что если будете запускать основной проект через докер не забудте сначана выключить эти контейнеры)
  3. Перейдите в директорию с js скриптами cd ./app/js и установите зависимости npm install
  4. Вернитесь обратно cd ../.. и создайте cache таблицу python3 manage.py createcachetable
  5. Создайте миграции python3 manage.py makemigrations и примините их python3 manage.py migrate
  6. Запустите сервер run.dev.bat если windows, если linux, то сначала сделайте скрипт запускаемым chmod +x run.dev.sh и теперь можете запускать ./run.dev.sh

На linux сервер будет доступен на 8000 порте на windows на 80

Что бы применить нужные изменения теперь нужно будет только перезапусть скрипт run.dev

Паттерны

Вся информация в файле Patterns.txt

Архитектура

Эта картинка в файле Architecture.png Архитектура проекта

Разработчики

Ярослав Гончаров a.k.a. MapLegend a.k.a. AbsoluteLegend
- Main Developer, Back End lead -
Докер, система CI/CD, развёртывание на сервере, доведение до рабочего состояния трансляций, реализация очереди, разбивка на микросервисы, капча, юнит-тесты.

Горшенев Леонид a.k.a. Leodroid
- Team Lead -
Конфигурация Django, фиксы страниц сайта и меню, создание страницы About. Фиксы кода клиентской части и работа с бд. Бекенд для модалов. Менеджмент git, решение конфликтов.

Вероника Долгирева a.k.a. Nika
- Front End developer -
Полная вёрстка страниц просмотра и редактирования профиля, работа над основной страницей и модалами, визуальная составляющая очереди, адаптация под мобильные устройства, кнопка старта стрима, плейсхолдер.

Back end

Васильев Андрей a.k.a. Herr der Qual
- Back End developer -
Cистемы логина и регистрации, настройка уведомлений, система трансляции и просмотра стрима, полная реализация чата.

Шутов Никита a.k.a. Wigiglenekit
- Back End developer -
Установка названия стрима и описания на страницу, реализация таймера, генерация очереди на странице, документация, улучшение кода для повышения безопасности.

Степанов Николай a.k.a. KodKio
- Back End developer -
Прототип чата, работа с регистрацией, работа с БД, чартами в профиле и топом.

Кравцов Андрей a.k.a. KRAVTANDR
- Back End developer -
Система лайков, прототип таймера.

Бернов Андрей a.k.a. Sparkle
- Back End developer -
Работа с профилем: редактирование, ссылки на страницы пользователей, pylint.

Front end

Беликов Григорий a.k.a. Manndarinchik
- Front End lead -
Базовый шаблон, вёрстка главной страницы, вёрстка страницы about, оформление чата, кнопки лайков/дизлайков, работа над визуальной частью чата, эмоджи. Монтаж видео презентации.

Попова Маргарита a.k.a. Fortys1xand2
- Front End developer -
Начало работы с RTCMulticonnection, капча, первый прототип очереди, подстановка ника стримера на страницу.

Богдан Куликов a.k.a. Brem
- Front End developer -
Работа с модалами (логин, регистрация, старт стрима).

Кононов Артём a.k.a. Artem213101zse
- Front End developer -
Система лайков, прототип таймера.

Тимченко Даниил a.k.a. Danitim
- Front End developer -
Первый прототип визуала очереди, небольшие фронтенд фиксы.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.