Coder Social home page Coder Social logo

games's People

Contributors

ananaskelly avatar artesby avatar learp avatar malinink avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

games's Issues

Создать модель и миграцию игры

#5

модель Game содержит

  • id (increments) (первичный, связан 1:m с UserGame #16 user_id, TurnInfo #9 game_id, BoardInfo #10 game_id)
  • type_id (tinyInteger) (внешний, связан m:1 с GameType #11 id)
  • private (bool)
  • time_started (datetime)
  • time_finished (datetime)
  • winner (bool)
  • bonus (tinyInteger)

связана 1:m

  • id - UserGame #16 game_id
  • id - TurnInfo #9 game_id
  • id - BoardInfo #10 game_id

m:1

  • type_id - GameType #11 id

Теги: model

Функция состояния "активной игры"

Родительская задача #14
Описание
Необходимо добавить возможность для пользователя увидеть, есть ли у него активная игра на данный момент.
Задача заключается в написании функционала, который отслеживал бы состояние пользователя (наличие игры в данный момент или нет)

Задача связана с #19
Теги: controller

Метод модели Game

Исполнитель @Ananaskelly

Описание
Создать метод, возвращающий чей ход был последним в текущей игре пользователя.

Теги: model

Изменение модели Game Types

Родительская задача #
Исполнитель @Ananaskelly

Ждем задачи

Описание
Необходимо изменить связь данной модели с User Defaults на связь с User (id связан 1:m с User #45 default_game_type_id)

Теги: model

#2 Database

  • создать модели
  • представить структуру базы данных основываясь на идеях #1

Описания процессов, вывод информации

Описание и принципы работы с:

  • метками
  • задачами
  • контрольными точками

Предложение о новой метке progress?

Создание и поддержка схемы бд

Административная панель и сами администраторы

Данные для тестирования, и тестирование?

Главная страница и основной набор действий?
Пометка в основном шаблоне о активной игре

Функция поиска игры

Родительская задача #39
Исполнитель @

Описание
Создать функцию контроллера, которая будет осуществлять поиск подходящей игры.

(?) необходимо проверить нет ли на текущий момент игры, удовлетворяющей запросу пользователя, если таковая есть - добавить его туда. ( Потом видимо нужен редирект на вью с игрой и создание моделей (UserGames, TurnInfo, BoardInfo - но непонятно тут ли это должно происходить)
Если такой игры не существует - создается новый объект Games.

Теги: controller

Контроллер для главной страницы

Родительская задача #29
Исполнитель @

Описание
Создать контроллер для главной странички, где будет осуществляться поиск подходящей игры, или создание новой игры и редирект на view c игрой, если таковая найдена, создание необходимых моделей - Games, BordInfo, TurnInfo, UserGame (?)

Теги: controller

Поправить модели и их миграции перед тестами

Родительская задача #25
Исполнитель @malinink

Описание

  • Добавить во все модели поле timestamps = false
  • Добавить комментарии к методам
  • Изменить названия методов в соответствии со стандартом ларавела + camelCase
  • Подумать и добавить nullable атрибут, где необходимо
  • Проверить все модели на соответствие std
  • Проверить все тесты на соответствие std

Теги: model

Тестирование модели Turn Info

Родительская задача #25
Исполнитель @

Описание
Написать тесты для модели [Turn Info](Turn Info) - проверить, что она добавляется в базу данных.

Теги: model

#3 Frontend

Обдумать интерфейс сайта:

  • дерево роутов и систему навигации
  • внешний план страниц

Основываясь на идеях #1

Главная страница

Родительская задача #29
Исполнитель @

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

Задача связана с #39
Теги: view

Использование WebSockets

  • идентификация клиента ws сервером
  • протокол взаимодействия с ws сервером
  • удаление игр\хранения связей игрок-игра
  • подсоединение зрителя к публичной игре
  • передача информации о ходе
  • проблема синхронизации
  • переподключение ws после разрыва
  • обновление метки о статусе игры
    Теги: task

Страничка игры

Родительская задача #29
Исполнитель @

Описание
Задача состоит в создании вьюшки где проходит непосредственно сама игра в шахматы(доска, история ходов..)

Теги:view

Отображение доски

Исполнитель @Ananaskelly

Описание
Отображение доски и фигур, анимация игрового хода, игрового процесса
Теги:

Создать модель и миграцию игровых типов

#5

Модель GameType содержит

  • id (integer, increments) (первичный ключ, связан 1:m с Game #8 type_id, 1:m с UserIngameInfo #12 type_id, 1:m с UserDefault #13 type_id)
  • type_name (string)
  • time_on_turn (tinyInteger)
  • is_rating (bool)

позже будут добавлены другие характеристики типов игр
связана 1:m с Game #8, 1:m с UserIngameInfo #12 type_id, 1:m с UserDefault #13 type_id
Теги: model

Основной функционал

  • Что видит пользователь после логина в систему? (вьюшки?)
  • Начало новой игры (функционал, подбор соперника, тип игры)
  • Пользовательские действия во время игры (ход)
  • Завершение игры, начисление баллов?
  • Что ещё?

Удаление информации с сервера

Родительская задача #89 #94
Исполнитель @

Описание
Необходимо продумать и реализовать механизм удаления данных об игре после того, как игра закончена

Теги: backend

Добавление записей в Games-Type

Родительская задача #14

Назначена: @Ananaskelly
Подумать как и через что добавить записи в Games-Type (смотреть в сторону миграций).
Добавить типы игры (короткие, длинные, обычные шахматы).

Теги: task (т.к. пока что подумать)

создание контроллера для игры

Родительская задача #29
Исполнитель @
Описание
Задача состоит в создании котроллера для страницы с игрой(запись ходов, проверка правильности ходов)(?)

Теги: controller

Токены идентификации

Родительская задача #89
Связана с #93
Исполнитель @

Описание
Необходимо генерировать (при запросе) и сохранять уникальный токен для идентификации пользователя ws сервером. Хранить в течение короткого промежутка времени (30сек), например в виде пары

  • user_id | token

Теги: backend

Написать минимальный набор тестов

Родительская задача #14
Описание
Необходимо написать минимальный набор тестов.
Возможны следующие тесты:

  • возможность добавление нового пользователя
  • проверить корректность перехода в возможные разделы на страничке(мои игры и т.п.)
  • проверить корректность log in/out для заранее созданного пользователя

Остальные тесты будут добавляться в процессе работы.
Теги: task

#1 Ideas

Задача:
Составить список идей, которые можно реализовать в проекте:

  1. Особенности игрового процесса
  2. Особенности регистрации и хранения данных о пользователе
  3. Особенности реализации проекта
  4. Особенности дизайна

Вероятно добавление/изменение классификации идей

https://github.com/malinink/games/wiki/Ideas

Использование WebSockets

  • идентификация клиента ws сервером
  • протокол взаимодействия с ws сервером
  • удаление игр\хранения связей игрок-игра
  • подсоединение зрителя к публичной игре
  • передача информации о ходе
  • проблема синхронизации
  • переподключение ws после разрыва
  • обновление метки о статусе игры

Теги: task

Переподключение клиента

Родительская задача #89
Исполнитель @

Описание
Найти библиотеку, которая обеспечивала бы переподключение клиента при разрыве соединения с ws-сервером

Теги: frontend

Добавить показатель "активной игры"

Родительская задача #14
Описание
Необходимо добавить возможность для пользователя увидеть, есть ли у него активная игра на данный момент.
Задача заключается в создании индикатора вверху страницы и написании функционала, который отслеживал бы состояние пользователя (наличие игры в данный момент или нет)

Задача связана с #26
Теги: view

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.