Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Lefaktar-coder/hakaton


https://github.com/Lefaktar-coder/hakaton

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# charity-hackaton case: игра "Ловец эмоджи-страхов"(Shoot Children' Scares) 🤡 😱 👹

_команда №39_

[Ссылка на деплой](https://hakaton-flame-six.vercel.app/)

Point-and-click-игрушка, где надо "отстреливать" страхи приемных детей. Для символического обозначения страхов используются эмоджи. Со стороны фронта реализована базовая версия задания.

Со стороны бекенда готовы авторизация и лидерборд (топ игроков и лучших партий). Фронтенд с бекендом пока не связан, но это в ближайших планах.

## Как работает игра:

- Стартовый экран

На экране — приглашение начать игру и три кнопки. По клику на кнопку "играть" начинается игровой процесс, нажатие на "правила" открывает модальное окно с правилами игры, а нажатие на "страхи" — список эмоджи и соответсвующих им детских страхов.

Снимок экрана 2023-11-12 в 17 13 39
Снимок экрана 2023-11-12 в 17 14 04
Снимок экрана 2023-11-12 в 17 14 27

- Игровой экран

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

Снимок экрана 2023-11-12 в 17 17 42

- Финальный экран

Экран с поздравлением игрока и отображением итоговых очков. Если юзер смог подбить больше 5 страхов, то увидит поздравительные конфетти 🎉 Также на этом этапе заблюренный ранее фон становится четким — на картинке изображена семья. По клику на кнопку "Играть еще" можно начать игру заново.

Снимок экрана 2023-11-12 в 17 23 08

## Используемые технологии и библиотеки:

- Фронтенд: СSS, React, Vite, GSAP, canvas-confetti
- Бекенд: Python, Django

## Команда:

- Марат, бекенд, @m_agliullin (https://t.me/m_agliullin)
- Дарья, фронтенд, @da_miko (https://t.me/da_miko)
- Константин, фронтенд, @Lefaktar(https://t.me/Lefaktar)

## Инструкция по локальному запуску фронтенда:

- Клонировать репозиторий
- Из директории client установить зависимости npm i
- Запустить проект с помощью npm run dev

## Инструкция по локальному запуску бекенда:

##### Проверить что у вас установлен Python

Для пользователей Windows:
Откройте командную строку, нажав клавиши `Windows + R`, затем введите cmd и нажмите Enter.
В командной строке введите `python --version` и нажмите Enter. Система должна показать версию Python, установленную на вашем компьютере.

Для пользователей MacOS и Linux:
Откройте Терминал.
В терминале введите `python3 --version` и нажмите Enter. Система должна показать версию Python, установленную на вашем компьютере.

##### Склонировать репозиторий и перейти в директорию server `server`

##### Установка виртуального окружения

Команда для установки виртуального окружения на Mac или Linux:
`python3 -m venv venv`

Команда для Windows должна быть такая:
`python -m venv venv`

##### Активация виртуального окружения

В Windows:
выполнить инструкции из файла activate во вложенной папке venv/Scripts командой
`source venv/Scripts/activate`

В macOS или Linux:
выполнить инструкции из файла activate во вложенной папке venv/bin командой
`source venv/bin/activate`

##### Установка зависимостей проекта

`pip install -r requirements.txt`

Cоздать `.env` файл в переменных среды окружения в директории `server`
Пример (указать свой ключ):
`SECRET_KEY=django-insecure-1m54x^a+)_6b)w1o6+k+13w68xn(u^7k57a72ul85r7aqtn(c3`

##### Запуск миграции

`python manage.py migrate`

##### Создание пользователя

`python3 manage.py createsuperuser`
Необходимо указать данные для доступа в административный интерфейс Django

##### Запуск сервера

`python manage.py runserver`

##### Документация:

`https://maratagliullin.pythonanywhere.com/api/v1/swagger/`

##### Административный интерфейс Django

`https://maratagliullin.pythonanywhere.com/admin`