Backend team for CPTR450-Diplomacy

Overview

Authentication

Authentication will be achieved through Firebase APIs to make user management effortless. The frontend authenticates through Firebase directly using the Authentication API and requests data from the backend server by attaching the returned IdToken to the headers of a request. The server then verifies the IdToken through the Admin Auth API. The frontend requests would then attach SessionToken so the server can verify each request.

Authentication flow

Game Notes

The objects that make up the game and their behavior

Objects

  • Country
  • Province
  • 34 of the land provinces have supply centers
  • Each player starts with 3 supply center provinces, Russia 4 (Home Supply Centers)
  • Army
  • Fleet

Movements

  • Hold
  • Move
  • Support
  • Convoy

Phases

  • Beginning year is 1901
  • A year is broken up into a Spring and Fall season
  • Each season is broken up into four phases:
    • Negotiation: Very first negotiation phase lasts 30 minutes, the rest last 15 minutes. Facilitated by built-in chat feature with private DMs between countries.
    • Post-negotiation: Players write down movements
    • Movement/order resolution: Movements are executed simultaneously, various conditional rules applied
    • Retreating and disbanding: In battles that are not a stalemate, the losing player may either retreat to an open and adjacent province or disband their unit if they are either unwilling to retreat or there are no provinces to retreat to.
  • End of year
    • After each Fall move, newly acquired supply centers become owned by the occupying player, and each power's supply center total is recalculated; players with fewer supply centers than units on the board must disband units, while players with more supply centers than units on the board are entitled to build units in their Home centers (supply centers controlled at the start of the game). Players controlling no supply centers are eliminated from the game, and if a player controls 18 or more (that is, more than half) of the 34 supply centers, that person is declared the winner. Players who remain may also agree to a draw – around half of all games will end in a draw. Wikipedia

Design Ideas

  • The shorthand would not be hard to parse, taking some pressure off frontend team.

Provinces

Controlled by country at start

F = Fleet A = Army

  • Germany
    • F - Bel
    • A - Kie
    • A - Mun
  • England
    • F - Lon
    • F - Edi
    • A - Lvp
  • France
    • A - Par
    • A - Mar
    • F - Bre
  • Italy
    • A - Rom
    • A - Ven
    • F - Nap
  • Austria
    • A - Vie
    • A - Bud
    • F - Tri
  • Turkey
    • F - Ank
    • A - Con
    • A - Smy
  • Russia
    • A - Mos
    • F - Sev
    • A - War
    • F - Stp

Uncontrolled Provinces

  • Bel
  • Bul
  • Den
  • Gre
  • Hol
  • Nwy
  • Por
  • Rum
  • Ser
  • Spa
  • Swe
  • Tun
You might also like...

A chat App built with flutter and firebase as backend

chat_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Dec 3, 2021

A live location sharing app built on Flutter and Firebase as backend

A live location sharing app built on Flutter and Firebase as backend

DISCLAIMER I want to stress on three main points: This was my first Flutter project so I have not used any best practices and it needs a lot of code r

Dec 30, 2022

Flutter app to track stocks for multiple users, using Cloud Firestore on the backend.

Flutter app to track stocks for multiple users, using Cloud Firestore on the backend.

stock_tracker Flutter app to track stocks for multiple users, using Cloud Firestore on the backend. Overview I wrote this Flutter application as a mea

Sep 16, 2022

Passwall Server is the core backend infrastructure for Passwall platform

PassWall Server PassWall Server is the core backend for open source password manager PassWall platform. Using this server, you can safely store your p

Dec 20, 2022

Study Aqueduct(Dart Backend Framework)

study_aqueduct Running the Application Locally Run aqueduct serve from this directory to run the application. For running within an IDE, run bin/main.

Dec 14, 2021

An App To manage all your tasks with firebase backend

An App To manage all your tasks with firebase backend

🔥 Todo App An App To manage all your tasks with firebase backend. Star ⭐ the repo if you like what you see 😉 . ✨ Features : Login/SignUp with Fireba

Dec 12, 2022

A fast, minimalistic backend framework for Dart 🎯

A fast, minimalistic backend framework for Dart 🎯

A fast, minimalistic backend framework for Dart 🎯 Developed with 💙 by Very Good Ventures 🦄 Experimental 🚧 Dart Frog is an experimental project und

Jan 6, 2023

Todo App made with Flutter and it's backend with rails

mrttodo A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Jun 5, 2022

Charts [2148⭐] - By Google Team.

Charts is a general charting library, currently enabled for the Flutter mobile UI framework. See the online gallery for supported chart types and exam

Dec 31, 2022

Official Repository of team Naughty Indian Crew for Hack36 4.0

Official Repository of team Naughty Indian Crew for Hack36 4.0

CALL E Official repo of team Naughty Indian Crew for Hack36 4.0 Introduction: This is an education platform that primarily focuses on connecting fresh

Nov 6, 2022

GPT-3 recipe generator for the GPT-3 Makeathon by TUM.AI. Developed by team Taste the data.

GPT-3 recipe generator for the GPT-3 Makeathon by TUM.AI. Developed by team Taste the data.

GPT-3 Makeathon by TUM.AI - Team: Taste the Data Team - Taste the Data: Carmen Heger @stedomedo David Stiftl @stiftlD Christopher Schütz @cdschtz

Dec 4, 2022

UME is an in-app debug kits platform for Flutter. Produced by Flutter Infra team of ByteDance

UME is an in-app debug kits platform for Flutter. Produced by Flutter Infra team of ByteDance

flutter_ume English Flutter 应用内调试工具平台 当前版本内置 10 个插件, 开发者可以创建自己的插件,并集成进 UME 平台。 详见本文为 UME 开发插件部分。 flutter_ume 快速接入 特别说明 功能介绍 为 UME 开发插件 版本说明 兼容性 单测覆盖率

Dec 30, 2022

The UI/UX of Music app from Capi Design team.

elexto_music A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Sep 7, 2021

CodeFury 4.0 Submission | Team Re-member | PrepSetGO

CodeFury 4.0 Submission | Team Re-member | PrepSetGO

PrepSetGo | CodeFury 4.0 Winners Submission by team Re-member that won the 1st Prize in the App Development Category on 03/10/2021. Problem Statement:

Oct 5, 2021

A Flutter app that demonstrates how to build a simple app using the SpaceX API created by the Very Good Ventures Team.

A Flutter app that demonstrates how to build a simple app using the SpaceX API created by the Very Good Ventures Team.

SpaceX Demo Developed with 💙 by Very Good Ventures 🦄 A Flutter app that demonstrates how to build a simple app using the SpaceX API created by the V

Dec 27, 2022

Plugins for Flutter maintained by the Flutter team

Flutter plugins This repo is a companion repo to the main flutter repo. It contains the source code for Flutter first-party plugins (i.e., plugins dev

Dec 29, 2022

A Hackathon project created by Alpha Interface team for Agri-D Food Hack

Alpha Interface A Hackathon project created by Alpha Interface team for Agri-D Food Hack Installation WebApp Install Flutter on your System (this will

Oct 16, 2022

Team Dexters(yeah, I came out with a name .) Flame Game Jam repo

flame_game_jam_dexters Credits Image assets Flame Images: https://github.com/flame-engine/flame Ghost: https://master-blazter.itch.io/ghostspritepack

Nov 2, 2021

Projek Pilihan KK3 Flutter (Cakapp - Team Terbang)

projectcakapp A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you starte

Nov 26, 2021
Comments
  • parseOrder changes and tests

    parseOrder changes and tests

    Tests for the parseOrder function. There are issues in the parseOrder function right now so they don't all pass. Also, I modified the regex expressions in diplomacy.dart. Don't know if I'm doing this request right, haven't done it since fundamentals II.

    opened by pricna 0
  • JsonSerializable overrides added

    JsonSerializable overrides added

    JsonSerializable overrides added, however the build fails to the code that I did not write and do not know how to fix. The JsonSerializable code can be generated with this command:

    dart run build_runner build
    

    image

    opened by btw-ILTG 0
  • Samuel provinces

    Samuel provinces

    All stubs are created. I'm unsure about some type declarations. I think these are changes other people might need. Let me know if you have any comments or questions

    opened by SamuelSHernandez 0
  • Trevor resolution merge

    Trevor resolution merge

    Hey,

    So... long story short, the tests pass but because of the changes that I never really saw until tonight I didn't have time to fix the order tests. The way I set up order stubs was for me to get the code working, and I wish I'd have been able to peep the order files sooner. So the tests don't do much right now, other than make sure the functions are called (which they are). Hopefully in the future we can make it work, but I don't have time for that right now.

    opened by pianistrevor 0
Owner
null
Mabar Team - Sal.Creative

s_a_lcreative A new Flutter project. Getting Started FlutterFlow projects are built to run on the Flutter stable release. IMPORTANT: For projects with

Dimas Adityo 1 Dec 11, 2021
News App created in Flutter using News API for fetching realtime data and Firebase as the backend and authenticator.

News Buzz News App created in Flutter using News API for fetching realtime data and Firebase as the backend and authenticator. Features Custom news fe

Ankur Kedia 545 Dec 30, 2022
gui automation based on pyautogui python as backend and flutter desktop as frontend, drag and drop tool, no coding required.

GUI_AUTOMATION gui automation based on pyautogui python as backend and flutter desktop as frontend, drag and drop tool, no coding required. Install py

Hassan Kanso 34 Oct 30, 2022
A complete grocery store developed with Flutter, .Net Core, Firebase, One Signal and SQL Server as backend

# Grocery-Store developed in Flutter,DotNet Core, Firebase, One-Signal, SQL-Server, Stripe, Razorpay, Paypal A complete grocery store developed with F

Sunil Vijayan 31 Jan 1, 2023
This is a weather app created in Flutter with backend in Dart

Flutter Weather A Flutter application to view current weather status. Features ✅ Beautiful minimal UI ✅ Dark and Light themes ✅ Current temperature, m

null 2 Jul 4, 2022
A flutter based app using python scripts as backend for a quotes app.

Fluthon APP A new Flutter project which is supported from a python script and lists quotes . Deployment ?? -> /Script - python main.py. -> Run main.d

Yash Joshi 4 Nov 16, 2022
:star: Flutter-Firebase fully backend messaging app

Orgonet ChatApp ⭐ Flutter-Firebase fully backend messaging app I made a backend full messaging app using firebase **download the file named orgone tv2

Berke Can Pınar 5 Nov 18, 2022
Plants online shopping app using flutter firebase as backend.

planta A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Musthafa Ap 0 Nov 7, 2021
A complete Flutter E-Commerce Book Store application built using firebase as backend

ecommerce A complete Flutter E-Commerce Book Store application built using firebase as backend. Features Add or remove item in cart Search products Ad

aakanksha 2 Sep 24, 2022
Style Dart Backend Framework

style Style is a backend framework written in Flutter coding style. //TODO: This is a template Packages style base package medium article style_cli Co

Mehmet Yaz 6 Jun 5, 2022