Git Product home page Git Product logo

sportstat's Introduction

SportStat - уеб базирано приложение за управление на спортисти от треньори и за информиране на фенове

Технологии

Използвани технологии: flask(python), bootstrap, sqlite

Описание

SportStat e уеб базирано приложение, в което има два типа потребители - треньори и състезатели. По време на регистрацията може да избереш каква е твоята роля. Всеки потребител има собствен акаунт, в който може да въвежда своята информация като треньорът решава каква информация точно иска да събира от своите състезатели, за да си вади статистики впоследствие. Всеки един треньор може да прави различни събития (например тренировка или състезание), да вижда кой състезател е казал, че ще идва и дали е на печалба или на загуба в зависимост от броя посетители на тренировките му. Трениращите при него от своя страна могат да му плащат и през самото приложение (използвайки Paypal). Всеки отбор си има и "фен страница" , на която се изобразяват резултатите от последното състезание за отбора и може да бъде добавена анкета, на която феновете да гласуват(например кой смятат за Most Valued Player)

Features за Версия 0: Срок: до края на практиката

About - тук потребителите виждат основна информация за проекта, няма нужда да са логнати, за да я виждат.

Register(for both coach and competitor) - вкарваш име, мейл, парола и каква е твоята роля и те се записват в базата като паролата не се запазва като plaintext в базата(криптира се със sha256 и се насолва), а мейлът се проверява дали е валиден чрез regex.

Login user - > вкарваш име и парола. Ако тях ги няма в базата се изписва грешка и оставаш на същата страница. Ако са правилни - отиваш на екран за треньор или за състезател с неща, които можеш да правиш в зависимост от ролята ти

Когато се логне, пред треньора се показват бутони за регистрация на отбор, бутон за страница, на която може да види всичките си отбори и бутон за страница, на която може да види данните на всичките си състезатели.

_ Всеки треньор може да създава събития, които имат локация, име и описание.._

Следователно при треньора имаме страници за; Всички отбори, които даден треньор има, Регистрация на отбор, Данните на всички състезатели, Създаване на събития

Когато се логне, състезателят си добавя информация към профила - години, ръст, тегло. Има и място от където да може да редактира тази информация

Ако потребителят се опита да отвори страница, която не съществува - custom 404 page

Страници:

Регистрация

Логин

Страница за смяна на паролата

Всички отбори които даден треньор има

Създаване на събития

Регистрация на отбор

Данните на всички състезатели

custom 404 page

добавяне информация към профила

Опции какво да правиш

Страница със всички отбори в системата

Страница със всички състезатели в системата

Features за Версия 1: Приложението има два типа акаунти - на треньори и на състезатели като това какъв тип си се определя по време на регистрацията. Някои от линковете могат да се виждат без значение дали си регистриран или не.

Всеки състезател и треньор си имат личен акаунт, чрез който могат да променят определена информация в профила си. Треньорите попълват задължителни полета за себе си - име и отбор/клуб. След това треньорът може да добави какви данни да събира от състезателите. В зависимост от информацията, която събира треньора може да има статистика как се променя информацията на състезателите му във времето(например може да се види, че състезател тежи с 3кг повече в края на годината сравнено с началото).

Features:

Registration:

  • При регистрация имаме полета за име, мейл и парола и каква ще ти е ролята - треньор или състезател.
  • Може да се праща потвърждение на мейла, за да се активира акаунта.

Login:

  • Вкарва се името/мейла и паролата.
  • Логва се ако такъв акаунт съществува.
  • Има линк към страница за забравена парола.

Calendar(GOOGLE)

  • Feature само за логнати.
  • Треньорът добавя събитие, на което може да покани кой да се присъедини. На събитието може да има локация, начален и краен час.
  • Поканените имат право да откажат или приемат поканата(получават линк на мейла).):
  • Ако се присъединиш към събитието, приложението те подканва да заплатиш

Calendar -> всеки треньор може да създава event - който има id,име и дата. Състезателите от своя страна могат да се записват за event-и и да виждат всички ивенти, за които са записани. В базата се пази връзката event id - userid.

Payments:

  • Когато избереш събитието на което искаш да ходиш, може да избереш как искаш да го платиш - чрез paypal или на място.
  • Ако е на място - 24 часа преди събитието те уведомява, че утре трябва да платиш и каква е сумата за плащане

// Streams - само ако има време

Schedule :

Kалендар за тренировки на отбора. Треньорът публикува event(тренировка или състезание) като всеки ивент има локация, начален и краен час и описание. В описанието треньора може да добави нужната екипировка или допълнителна информация.

Впоследствие ако event-ът е бил състезание може да се впишат постиженията на отбора от треньора - например дали са победили или не, какъв е резултата, кой е MVP и поле за бележки,в което треньора да запише някаква допълнителна информация, която да им подготви да се подготвят за следващия мач.

Stream : Треньорът може да качи URL на стрийм от youtube на /streams , който да се embed-не в страницата на отбора. На страницата на отбора, която е видима без регистрация, се показва само последния стрийм.

Payment:

Треньорите могат също така да проверяват дали на дадена тренировка са на печалба или на загуба. При въвеждане на цената на залата за определен тайм слот, треньорът може да види дали е на загуба или на печалба. Също така, трениращите могат да изберат как ще платят за даден event - на място или чрез paypal(ако треньорът е дал линк, на който да се плаща)

Info: Публична страница за всеки отбор (от сорта на myapp.com/IceDevilsTeam), на която да се вижда резултата от последния мач на отбора. Също така тук може да се сложи анкета(например кой е Most Valued Player на мача) и феновете да гласуват.

sportstat's People

Contributors

karinakozarova avatar

Watchers

James Cloos 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.