Giter VIP home page Giter VIP logo

gr0up10 / minute-of-fame Goto Github PK

View Code? Open in Web Editor NEW
1.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

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 -
Первый прототип визуала очереди, небольшие фронтенд фиксы.

minute-of-fame's People

Contributors

artem213101zse avatar bremv avatar danitim avatar erikdubois avatar kodkio avatar kravtandr avatar l3odr0id avatar manndarinchik avatar margaritapopova avatar mysty0 avatar nika7664 avatar sinixcosix avatar sparkle1238 avatar wigiglenekit avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

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.