Skip to content

FicusThePottedPlant/web_project

Repository files navigation

WEB сайт-игра "Угадай местность"

Для реализации используется Java Script API Google и Yandex.

Игра состоит в том, чтобы по карте Google Street View понять ваше местоположение и указать ее на мини-карте. Таким образом набрать как можно большее количество очков за 3 раунда. Чтобы начать игру запустите main.py, откройте сайт по адресу http://127.0.0.1:5000 и нажмите кнопку Начать игру. Возможна проблема с панорамой — если она не загрузилась, то обновите страницу.

На сайте также присутствует авторизация для сохранения результатов игрока. Доступен анонимный вход, в котором пользовательская статистика не сохраняется.

Реализовано REST API. По адресу /api/users можно получить топ 10 игроков. А по /api/users/id, где id натуральное число, конкретного пользователя. Можно добавлять пользователя методом post, с ключами username и password.

get('http://localhost:5000/api/users')) # get top 10 users by score print(post(
('http://localhost:5000/api/users', json={'username': 'artem', 'password': 'artem22'})  # Добавляет нового пользователя.
Note: Пароль должен быть длинее 6 символов!

get('http://localhost:5000/api/users/2').json()  # get user by id

Иерархия папки:

│   main.py - главный файл c кодом каркаса сайта
│   rest_api_stuff.py - REST API  
│   russiacities.csv - список координат мест России, в случайном радиусе от которых будет отображаться панорама при игре
│   worldcities.csv - список координат мест, в случайном радиусе от которых будет отображаться панорама при игре
│
├───data - код для работы с базой данных
│   │   db_session.py 
│   │   user.py 
│   │   __all_models.py
│
│
├───db
│       web_project.db - хранит пользовательские данные
│
├───forms
│   │   edit_form.py - форма изменения пароля/имени пользователя
│   │   login_form.py - форма входа
│   │   signup_form.py - форма регистрации
│ 
│
├───static
│       3d.js - код игры
│       style.css - таблица стилей всего сайта
│
├───templates
│       3d.html - код страницы игры
│       base.html - код страницы главного меню
│       login.html - код страницы входа
│       profile.html - код страницы профиля
│       register.html - код страницы регистрации
│       settings.html - код страницы настроек
│       signup.html - код страницы регистрации

Иерархия сайта:

/ - главное меню
/login - вход
/signup - регистрация
/logout - выйти
/session/type - игра типа type (russia, world и 55.3454 54.3534 например)
/idn - профиль пользователя с id равным n (натуральное число)
/settings - настройки

В проекте >500 строчки кода (с учетом js, комментариев и пустых строк, но без HTML/CSS) Проект также хостится на https://myproject25.herokuapp.com/ (сайт также полностью адаптивен для мобильных устройств)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published