Skip to content

Latest commit

 

History

History
152 lines (108 loc) · 11.6 KB

README.md

File metadata and controls

152 lines (108 loc) · 11.6 KB

Sport Achievements Project

Project Description:

Important! This project works correctly for the Innopolis University sports website. If you want it to work for you, then ask a university or company to create a similar ecosystem. Or create it yourself and offer it as a gift.

Implementation of the achievements system on the sports website for greater motivation of students and the introduction of gamification in physical education teaching It is possible to develop a microservice that will interact with the site, for example, for a semester, a student must score 30 hours in sports, when he gains 20 he opens an achievement in the form of a sticker (picture), at 30+ additional achievements open and this could be encouraged from our side by merch from the university, etc.

Video Demo of SportChallengesBot

https://youtu.be/-7JbjtgbEyM

How to Use:

  1. Start by installing Telegram on your device (available for both mobile and desktop).
  2. Search for the "@sport_miniapp_bot" in Telegram or go through the link.
  3. Start the conversation by clicking the "Start" button.
  4. Sign in via your innopolis email to get the full access.
  5. Begin tracking your sports activities and achievements by completing the challenges.
  6. Once you have enough Sp (Sport points) convert them into university's merch.
  7. Stay motivated, engaged, continue achieving new challenges to get more fun and rewards.

Features List:

  • Authorization.
  • A well-thought-out system of individual and group challenges with a reward system.
  • Displaying achievements, progress and gifts for completed challenges. (Telegram Web Apps Technology)
  • Increasing interest and motivation in sports through a notification system with various activities in the city, tips, mini-workouts. For mini-tests on the tips, you can also come up with a reward system.

Project Installation:

To install SportChallengesBot on your server or local machine, follow these steps:

  1. Clone the project repository from GitHub.
  2. To edit the challenges go to src/components/ChallengesList/ChallengeList.jsx
  3. Install Node.js if you have not installed.
  4. In the terminal run the command "npm install".
  5. To run the WebApp paste the command "npm run start" to terminal.
  6. Create your own bot in Telegram using BotFather.
  7. Once you get the token from BotFather, replace it in the config.py file.
  8. Change the server URL you use in the take_hours.py file and configure the file according to your preferences.
  9. Set up the necessary environment variables for the bot (API keys, database credentials).
  10. Whether you need to change the handled messages, go the handler/message_handles.py to add or remove them.
  11. Run the code from your local machine or upload to the server.
  12. Test the bot whether it works properly and then share the link to the bot with students.

Frameworks or Technologies Used:

  • Node.js: JavaScript runtime for server-side development
  • Telegram Bot API: To interact with users through the Telegram messaging platform
  • Express.js: Web application framework for handling HTTP requests and routing
  • MongoDB: Database for storing user profiles, achievements, and sport points
  • Bootstrap: Front-end framework for responsive and visually appealing UI
  • Heroku: Deployment platform for hosting the bot

Badges:

License

This project is licensed under the terms of the MIT License. See the LICENSE file for details.

Проект «Спортивные достижения»

Описание проекта:

Важно! Этот проект работает корректно для сайта спорта Университета Иннополис. Если вы хотите, чтобы он работал и у вас, то попросите университет или компанию создать похожую экосистему. Или создайте её сами и предложите в качестве подарка.

Внедрение системы достижений на спортивном сайте для большей мотивации учащихся и внедрение геймификации в преподавание физической культуры. Есть возможность разработать микросервис, который будет взаимодействовать с сайтом, например, за семестр студент должен набрать 30 часов по спорту, при наборе 20 он открывает достижение в виде стикера (картинки), при 30+ дополнительных достижениях открывается и это можно было бы поощрить с нашей стороны мерчем от университета, и так далее.

Видео демонстрация SportChallengesBot

https://youtu.be/-7JbjtgbEyM

Способ применения:

  1. Установите Telegram на свое устройство (доступно как для мобильного, так и для десктопного устройства).
  2. Найдите «@sport_miniapp_bot» в Telegram или перейдите по ссылке.
  3. Начните чат, нажав кнопку «Начать».
  4. Авторизуйтесь через электронную почту Иннополиса, чтобы получить полный доступ.
  5. Начните отслеживать свою спортивную активность и достижения, выполняя задания.
  6. Как только вы наберете достаточное количество очков Sp (Англ. Sport points), конвертируйте их в мерч университета.
  7. Оставайтесь мотивированными, вовлеченными, продолжайте решать новые задачи, чтобы получать больше удовольствия и наград.

Список функций:

-Авторизация.

  • Продуманная система индивидуальных и групповых заданий с системой поощрений.
  • Отображение достижений, прогресса и подарков за выполненные испытания. (Технология веб-приложений Telegram)
  • Повышение интереса и мотивации к спорту через систему уведомлений с различными активностями в городе, советами, мини-тренировками. Для мини-тестов на чаевые также можно придумать систему поощрений.

Установка проекта:

Чтобы установить SportChallengesBot на свой сервер или локальную машину, выполните следующие действия:

  1. Склонируйте репозиторий проекта из GitHub.
  2. Чтобы отредактировать вызовы, перейдите в src/components/ChallengesList/ChallengeList.jsx
  3. Установите Node.js, если вы этого не сделали.
  4. В терминале выполните команду "npm install".
  5. Чтобы запустить WebApp, вставьте команду "npm run start" в терминал.
  6. Создайте своего бота в Telegram с помощью BotFather.
  7. После того, как вы получите токен от BotFather, замените его в config.py файле.
  8. Измените URL-адрес сервера, который вы используете в файле take_hours.py, и настройте файл в соответствии со своими предпочтениями.
  9. Настройте необходимые переменные окружения для бота (API-ключи, учетные данные базы данных).
  10. Если вам нужно изменить обработанные сообщения, перейдите к handler/message_handles.py, чтобы добавить или удалить их.
  11. Запустите код с локального компьютера или загрузите его на сервер.
  12. Протестируйте бота, правильно ли он работает, а затем поделитесь ссылкой на бота со студентами.

Используемые фреймворки или технологии:

  • Node.js: среда выполнения JavaScript для серверной разработки
  • Telegram Bot API: для взаимодействия с пользователями через платформу обмена сообщениями Telegram
  • Express.js: платформа веб-приложений для обработки HTTP-запросов и маршрутизации
  • MongoDB: База данных для хранения профилей пользователей, достижений и спортивных очков
  • Bootstrap: фронтенд-фреймворк для отзывчивого и визуально привлекательного пользовательского интерфейса
  • Heroku: Платформа развертывания для размещения бота

Значки:

Лицензия

Данный проект лицензируется на условиях лицензии MIT. Дополнительные сведения см. в файле LICENSE.