From 7777a84d115eb30ae36b80812a9419769c5e4684 Mon Sep 17 00:00:00 2001 From: Hugo Thunnissen Date: Mon, 13 Jun 2022 15:30:13 +0200 Subject: [PATCH] Initial commit --- .gitignore | 1 + assets/bookstack-logo.png | Bin 0 -> 6659 bytes assets/drone-logo.svg | 1 + assets/gitea-logo.svg | 1 + assets/go-logo.svg | 60 +++++ assets/ror-architecture.png | Bin 0 -> 59579 bytes assets/ror-auth-request-flow.png | Bin 0 -> 26590 bytes assets/svelte-logo.png | Bin 0 -> 1373 bytes assets/user-creation-and-authentication.html | 268 +++++++++++++++++++ assets/web-assembly-logo.svg | 35 +++ generate.bash | 75 ++++++ main.js | 29 ++ publish.txt | 17 ++ slides/a-good-rts-mmo.html | 10 + slides/architecture.html | 3 + slides/challenges.html | 10 + slides/demo.html | 3 + slides/front.html | 15 ++ slides/monetization.html | 7 + slides/nginx-auth-request.html | 3 + slides/process-ci.html | 27 ++ slides/process-design.html | 18 ++ slides/process.html | 11 + slides/product-citybuilder.html | 10 + slides/product.html | 11 + slides/ror-auth.html | 7 + slides/solutions.html | 14 + slides/team-frontpage.html | 11 + slides/team.html | 18 ++ slides/topics.html | 15 ++ slides/what-we-have-worked-on.html | 8 + style.css | 16 ++ 32 files changed, 704 insertions(+) create mode 100644 .gitignore create mode 100644 assets/bookstack-logo.png create mode 100644 assets/drone-logo.svg create mode 100644 assets/gitea-logo.svg create mode 100644 assets/go-logo.svg create mode 100644 assets/ror-architecture.png create mode 100644 assets/ror-auth-request-flow.png create mode 100644 assets/svelte-logo.png create mode 100644 assets/user-creation-and-authentication.html create mode 100644 assets/web-assembly-logo.svg create mode 100755 generate.bash create mode 100644 main.js create mode 100644 publish.txt create mode 100644 slides/a-good-rts-mmo.html create mode 100644 slides/architecture.html create mode 100644 slides/challenges.html create mode 100644 slides/demo.html create mode 100644 slides/front.html create mode 100644 slides/monetization.html create mode 100644 slides/nginx-auth-request.html create mode 100644 slides/process-ci.html create mode 100644 slides/process-design.html create mode 100644 slides/process.html create mode 100644 slides/product-citybuilder.html create mode 100644 slides/product.html create mode 100644 slides/ror-auth.html create mode 100644 slides/solutions.html create mode 100644 slides/team-frontpage.html create mode 100644 slides/team.html create mode 100644 slides/topics.html create mode 100644 slides/what-we-have-worked-on.html create mode 100644 style.css diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e5c5af8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/publish diff --git a/assets/bookstack-logo.png b/assets/bookstack-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5fb834b9bdd8654ab7730e196b70bd272d7c15ec GIT binary patch literal 6659 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 P9Gq8bx~kR6c2WNW7Zf3- literal 0 HcmV?d00001 diff --git a/assets/drone-logo.svg b/assets/drone-logo.svg new file mode 100644 index 0000000..2a10910 --- /dev/null +++ b/assets/drone-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/gitea-logo.svg b/assets/gitea-logo.svg new file mode 100644 index 0000000..afeeacb --- /dev/null +++ b/assets/gitea-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/go-logo.svg b/assets/go-logo.svg new file mode 100644 index 0000000..666408b --- /dev/null +++ b/assets/go-logo.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/ror-architecture.png b/assets/ror-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..263038e9074e38f94657eb2cd4b6ef0489dec785 GIT binary patch literal 59579 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

e;069aU) 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 literal 0 HcmV?d00001 diff --git a/assets/svelte-logo.png b/assets/svelte-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..21bc302b6882fcb18ab7c6fa1839e3f523199ae9 GIT binary patch literal 1373 zcmb7^|3A|S9LGN!$I{&9OTM!)jG`l*O1ALuZI?FRBA17zg~Bag3Yjk>(}=?;N@^#> zV~`C*RRmA> z;55j`YT0?tQ6%I2b;l|g#>IIJWQkJS=96kw`p-7^Wp`M@F`4JRp=&RzLCvi7 zfelewei(nDrDxl*l2*7W<>lFw#Ym$%!G+|U=R5hORvT6?b{Ffib@dB*iyoynF({g4 zKZs17T&vs&hLIJKFrCPPp372ySoB+1Yp}zP_iSY=%R)4T3#y6RF+L@dBQS5M4^bmJ z`4ju^jt!X(Q&;6rd6aadAQG!^*(q&e85brX6#0XAic~!(W&EB!*|~O4uZS1hdb4{uH2NjE!G-S< zO2}bbXT~(9dF_XG1K;jGrtTa12P>}L!5SXoc>0-1z9uUgKFD+#*6GxWI-1-IZ&;?@ zD^g99O5#uClt}jetf?{uL5q!xFIv}_;_0t=wBk%}ry=`Ke*sC)AmXnNH^!-OG|Sj~ zNrH>Mv<2|t2EWlt9H+d)_^QacFL4TB1Z8d)5BLPYiK{tRKM4+cHjPEi&zUt&8wCh4 zLU)A;%VD{;D21Gqh!Dn+eqGT$!=|}nLj-zVFXr1u&{s-i13N~z+~$sK!>)5-`5%p~ z5;WkXf7QP(E@zxRR-0;j$nqUCq=yu1iVf9Lv!VCb6CqAkVk02nQFtU2!0P~wLGf`y zIKT$>XYSZPIX){fSU#&-j#S88pbfSJ_nbKOHyC;Y(`Hys%%JRh(HO6g=xk!3BP$*UYS>xJh)IF2$Up)6SzJX@Rg6F@4u8!Ywt()m0 zZJAePZ89S6C)|0Ll_}7xw=>N$8ZI-0K!q5)l|Yldh$SuS0en$X&18g$GR(KKzP2hJ zo7;~QFzkJEyH|S#34ELfwvaVr-P^SS%Q1`8J2lum@Ytp3(fE2p#1e~}5sn~I5aQ&X zUe7B)EaA9oY1012*3$I*)b{0zBvbk(x*}kq ztku8OvAWZNiZai&wYVIbVd4?64N5~ZuSsb?n7g_%&2iC^1AD$tWR0v@q88qtUEO_I bedL5nFQ=R0R@YaqEHHrJMf7a;Am{!EfXa*$ literal 0 HcmV?d00001 diff --git a/assets/user-creation-and-authentication.html b/assets/user-creation-and-authentication.html new file mode 100644 index 0000000..68ea9d1 --- /dev/null +++ b/assets/user-creation-and-authentication.html @@ -0,0 +1,268 @@ + + + + + User Creation and Authentication + + + + + +

+
+ +

User Creation and Authentication

+ +
+ +

This feature will allow users to register an account through which they have access to the product. This feature is essential for the product, as the user accounts will be linked to essential information such as game data, payment details and crypto wallets.

+

Product Requirements

+
    +
  • The user can register an account + +
  • +
  • The system only allows users to login to their account after their email has been verified.
    +
      +
    • If a user authenticates with correct credentials before their email address has been verified, they are able to request the system to send them another verification email.
    • +
    +
  • +
  • An email with instructions for email verification is sent to the user directly after account registration is complete.
  • +
  • The user can log into their registered account +
      +
    • The system requires the user to enter their email address
    • +
    • The system requires the user to enter their password
    • +
    • The system requires the user to have verified their email address before being able to log in
    • +
    +
  • +
  • If the user provides wrong credentials, the system does not tell the user which part of their credentials was wrong.
  • +
  • On authentication failure, the system does not tell the user whether an account for the provided username exists or not.
  • +
  • The system allows the user to reset their password without logging in by providing the system with their email address.
    +
      +
    • When a password reset is requested, the user is sent an email with instructions.
    • +
    • The system does not provide any information about whether an account exists for the given email address.
    • +
    • The password reset email contains instructions and a special link that the user can click. + +
    • +
    +
  • +
  • The system is able to save, edit and provide the following information about a user: +
      +
    • Username/email
    • +
    • Password
    • +
    • TOTP information
    • +
    +
  • +
  • The system is able to pair with a users' TOTP application for additional security. +
      +
    • The system requires a one-time-password for every login after the activation and setup of TOTP by a user.
    • +
    +
  • +
+

Design Requirements

+
    +
  • There is a graphical user registration form +
      +
    • The user registration form has explanations for each field and how it will be used by the software
    • +
    • The user is required to enter their password twice before submitting the form. +
        +
      • It is verified that both entered passwords are identical.
      • +
      +
    • +
    • The user registration form interactively validates that the user provides to the form +
        +
      • If the input for one of the form fields is invalid, the software instantly notifies the user through explicit visual cues.
      • +
      +
    • +
    • After registration is completed, the UI explicitly tells the user that they will only be able to login after they have verified their email.
    • +
    • After registration is completed, the UI explicitly tells the user that an email has been sent to them with instructions for email verification.
    • +
    +
  • +
  • There is a graphical user authentication form +
      +
    • The user authentication form prompts the user to enter their email and password
    • +
    • The user authentication form has a "register account" button that brings the user to the user registration form.
    • +
    • The user authentication form has a "login" button that attempts to authenticate the user using their provided credentials.
    • +
    +
  • +
  • There is a graphical representation for TOTP password login.
  • +
  • If the user successfully authenticates before their email address has been verified, they are presented with a page that explains the email verification requirement. +
      +
    • The page also contains a button with which users can request a new verification email.
    • +
    +
  • +
  • There is a password reset page that the special links in password reset emails lead to. +
      +
    • The form on the password reset page requires the user to enter their new password twice.
    • +
    +
  • +
  • There is a user settings page that allows the user to change their: +
      +
    • username
    • +
    • password
    • +
    • TOTP settings
    • +
    +
  • +
+

Engineering Requirements

+
    +
  • Email and passphrase are only used to request a JSON Web Token from the system.
    +
      +
    • The JWT is used as means of authentication for any other interactions with the system.
    • +
    +
  • +
  • The system needs to be able to save and retrieve users with unique, non-sequential identifiers.
  • +
+

User Stories

+

This section contains the user stories for this epic. After each user story, the accompanying requirements are defined in bullet point lists.

+ + + + + + + + + + + +
User storyAs a user, I want to be able to register a user account using an email address and password so that I can take part in Rise of Rulers gameplay.
Acceptance criteria +
    +
  • Given I am a user, I provide a correct email address and password to the system and click the register button, I am able to successfully register a user account.
  • +
  • Given I am a user, I have to enter my preferred password twice when registering an account and if both entries aren't identical I have to correct this before continuing.
  • +
+
+ + + + + + + + + + + +
User storyAs a user, I want to be able to verify my account within a reasonable amount of time by following the instructions in the account verification email.
Acceptance criteria +
    +
  • Given I am a user and I click the registration button after correctly filling out the form, the system tells me that my account registration is successful, the account needs to be verified for me to be able to use it and an email has been sent to my email address with verification instructions.
  • +
  • Given I am a user and the system tells me that an email has been sent out, the system has actually sent out the email at that instant so that I can receive it within a reasonable amount of time.
  • +
+
+ + + + + + + + + + + +
User storyAs a user, I want to be told that my email needs to be verified when I successfully authenticate through the login form before I have verified my email address.
Acceptance criteria +
    +
  • Given I am a user and I click the login button after providing valid credentials, I am greeted with a message about the required email verification and the option to have the system send a new verification email to my email address.
  • +
  • Given I am a user and I am logged in without my email being verified, the system does not allow me to use its core functionalities.
  • +
+
+ + + + + + + + + + + +
User storyAs a user, I want to be able to reset my account password by providing the system with the email address I used to register my account and following the instructions in a password reset email sent to my email address.
Acceptance criteria +
    +
  • Given I am a user and I click the reset password button after providing my email address, I am sent an email with instructions and a special link that I can use to change the password for my user account.
  • +
  • Given I am a user and I click the special link in the password reset email, I am presented with the password reset page which requires me to enter my new password twice.
  • +
  • Given I am a user and I do not enter two identical passwords into the password reset form, I am not allowed to continue before I correct this.
  • +
  • Given I am a user, I have correctly filled out the password form and I click the "reset password" button, my password is changed to the one provided in the form.
  • +
+
+ + + + + + + + + + + +
User storyAs a user, I want to be able to pair the software with my TOTP application so that I can use one-time passwords for additional security.
Acceptance criteria +
    +
  • Given that I am a user and I click the "enable TOTP" button on the user settings screen, I am able to go through the setup process and configure the system to work with my TOTP application.
  • +
  • Given that I am a user and I login after enabling TOTP for my account, I fill in a correct password and username and the system has verified these credentials, I am required to provide a one-time-password from the TOTP application before I am allowed to continue.
  • +
+
+ + + + + + + + + + + +
User storyAs a user, I want to be able to authenticate myself to the system using a username and password configured by me, so that I am able to partake in gameplay and my progress can be saved.
Acceptance criteria +
    +
  • Given that I am a user, I fill in the login form with a correct username and password and I click login, I am able to successfully authenticate to the system.
  • +
+
+
+
+ +
+
+ + + +Revision #12
+ + + + + +Created 22 February 2022 11:16:51 by Hugo +
+ + + + +Updated 7 March 2022 15:41:02 by Hugo +
+
+ + \ No newline at end of file diff --git a/assets/web-assembly-logo.svg b/assets/web-assembly-logo.svg new file mode 100644 index 0000000..241ff2b --- /dev/null +++ b/assets/web-assembly-logo.svg @@ -0,0 +1,35 @@ + + + + + web-assembly-logo + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/generate.bash b/generate.bash new file mode 100755 index 0000000..ef52a5f --- /dev/null +++ b/generate.bash @@ -0,0 +1,75 @@ +#!/bin/bash + +print-slide-top() { + declare title="$1" + + cat < + + + ${title} + + + + + +
+
+EOF +} + +print-slide-bottom() { + declare previous="$1" + declare next="$2" + + echo ' +
+
+ + +' +} + + +# Determine script directory (requires GNU readlink) +here="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" +publish_dir="$here/publish" + +printf 'Changing directory: ' +pushd "$here" || exit $? + +mkdir -p "$publish_dir" || exit $? + +publish_file="$here/publish.txt" + +declare -a slides=() +mapfile -t slides < "$publish_file" + +for i in "${!slides[@]}"; do + declare previous="${slides[i == 0 ? 0 : i -1]}" + declare next="${slides[i + 1 >= ${#slides[@]} ? i : i + 1]}" + declare slide="${slides[i]}" + + destination="$publish_dir/$(basename "$slide")" + previous="$(basename "$previous")" || exit $? + next="$(basename "$next")" || exit $? + + if ((i == 0)); then + destination="$publish_dir/index.html" + fi + + if ((i == 0)) || ((i == 1)); then + previous="index.html" + fi + + print-slide-top 'ROR Presentatie' > "$destination" + cat "$slide" >> "$destination" + print-slide-bottom "$previous" "$next" >> "$destination" +done + +cp -v style.css "$publish_dir/style.css" +cp -v main.js "$publish_dir/main.js" +cp -rv assets "$publish_dir/" diff --git a/main.js b/main.js new file mode 100644 index 0000000..82cd0d7 --- /dev/null +++ b/main.js @@ -0,0 +1,29 @@ + +function hugotOverrideFirstNext(func){ + document.hugotOverrideFirstNext = func; +} + +document.onkeydown = function (event) { + switch (event.keyCode) { + case 37: + //left key + document.getElementById('previous').click(); + case 38: + console.log("Up key is pressed."); + break; + case 39: + //right key + if (document.hugotOverrideFirstNext) { + let func = document.hugotOverrideFirstNext; + document.hugotOverrideFirstNext = null; + func(); + return; + } + + document.getElementById('next').click(); + break; + case 40: + console.log("Down key is pressed."); + break; + } +}; diff --git a/publish.txt b/publish.txt new file mode 100644 index 0000000..43824d0 --- /dev/null +++ b/publish.txt @@ -0,0 +1,17 @@ +slides/front.html +slides/topics.html +slides/product.html +slides/product-citybuilder.html +slides/a-good-rts-mmo.html +slides/monetization.html +slides/team-frontpage.html +slides/team.html +slides/process.html +slides/process-design.html +slides/process-ci.html +slides/challenges.html +slides/solutions.html +slides/architecture.html +slides/ror-auth.html +slides/nginx-auth-request.html +slides/demo.html diff --git a/slides/a-good-rts-mmo.html b/slides/a-good-rts-mmo.html new file mode 100644 index 0000000..36dcf38 --- /dev/null +++ b/slides/a-good-rts-mmo.html @@ -0,0 +1,10 @@ +
What makes a good MMO RTS
+ +
    +
  • Good lore
  • +
  • Many things to discover
  • +
  • Fair competitive mechanics
  • +
  • Thorough artwork
  • +
  • Works on mobile
  • +
  • Encourages player interaction
  • +
diff --git a/slides/architecture.html b/slides/architecture.html new file mode 100644 index 0000000..15fc368 --- /dev/null +++ b/slides/architecture.html @@ -0,0 +1,3 @@ +
Architecture
+ + diff --git a/slides/challenges.html b/slides/challenges.html new file mode 100644 index 0000000..0ecccd0 --- /dev/null +++ b/slides/challenges.html @@ -0,0 +1,10 @@ +
Challenges
+ +
    +
  • Small team
  • +
  • High software quality standards
  • +
  • Ambitious project scope
  • +
  • Designing a fair online game takes time
  • +
  • Creative processes take time
  • +
  • Dependent on artwork (looking for artist)
  • +
diff --git a/slides/demo.html b/slides/demo.html new file mode 100644 index 0000000..a0b6b68 --- /dev/null +++ b/slides/demo.html @@ -0,0 +1,3 @@ +
Demo
+ +Dev instance diff --git a/slides/front.html b/slides/front.html new file mode 100644 index 0000000..a8940f2 --- /dev/null +++ b/slides/front.html @@ -0,0 +1,15 @@ +
Rise of Rulers
+ +
+
Sprint 4
+
+ + diff --git a/slides/monetization.html b/slides/monetization.html new file mode 100644 index 0000000..b58611b --- /dev/null +++ b/slides/monetization.html @@ -0,0 +1,7 @@ +
Monetization
+ +
    +
  • The base game is free to play
  • +
  • Expansions of game content cost money
  • +
  • Expansions are NFT's
  • +
diff --git a/slides/nginx-auth-request.html b/slides/nginx-auth-request.html new file mode 100644 index 0000000..5e9d76a --- /dev/null +++ b/slides/nginx-auth-request.html @@ -0,0 +1,3 @@ +
NGINX Auth Request
+ + diff --git a/slides/process-ci.html b/slides/process-ci.html new file mode 100644 index 0000000..25c015c --- /dev/null +++ b/slides/process-ci.html @@ -0,0 +1,27 @@ +
Our Development Stack
+ + + + + + + + + + + + + + + + + +
Version Control Gitea
Continuous Integration
Backend + + Golang +
Frontend +
    +
  • +
  • Svelte
  • +
+
diff --git a/slides/process-design.html b/slides/process-design.html new file mode 100644 index 0000000..6ec1917 --- /dev/null +++ b/slides/process-design.html @@ -0,0 +1,18 @@ +
Architecture and Design Process
+ + diff --git a/slides/process.html b/slides/process.html new file mode 100644 index 0000000..ebe0d71 --- /dev/null +++ b/slides/process.html @@ -0,0 +1,11 @@ +
The Process
+ + diff --git a/slides/product-citybuilder.html b/slides/product-citybuilder.html new file mode 100644 index 0000000..a15fa8a --- /dev/null +++ b/slides/product-citybuilder.html @@ -0,0 +1,10 @@ +
A MMO RTS Game
+ +
    +
  • MMO: Massive Multiplayer Online
  • +
  • RTS:Real Time Strategy
  • +
  • Setting: Medieval Fantasy World
  • +
  • Players hold villages
  • +
  • Villages can hold armies
  • +
  • Players can conquer other villages through battles
  • +
diff --git a/slides/product.html b/slides/product.html new file mode 100644 index 0000000..85262d4 --- /dev/null +++ b/slides/product.html @@ -0,0 +1,11 @@ +
The Product
+ + diff --git a/slides/ror-auth.html b/slides/ror-auth.html new file mode 100644 index 0000000..ed8caaf --- /dev/null +++ b/slides/ror-auth.html @@ -0,0 +1,7 @@ +
ROR AUTH
+ +
    +
  • User registration
  • +
  • User authentication
  • +
  • Account data management
  • +
diff --git a/slides/solutions.html b/slides/solutions.html new file mode 100644 index 0000000..8b75035 --- /dev/null +++ b/slides/solutions.html @@ -0,0 +1,14 @@ +
How we deal with them
+ +
    +
  • Test thoroughly
  • +
  • Only work on things when: +
      +
    • They are thoroughly thought out
    • +
    • + They are no longer subject to fundamental change due to the creative + process. +
    • +
    +
  • +
diff --git a/slides/team-frontpage.html b/slides/team-frontpage.html new file mode 100644 index 0000000..020dbef --- /dev/null +++ b/slides/team-frontpage.html @@ -0,0 +1,11 @@ +
The Team
+ + diff --git a/slides/team.html b/slides/team.html new file mode 100644 index 0000000..5a15cc5 --- /dev/null +++ b/slides/team.html @@ -0,0 +1,18 @@ +
The Team
+ +
    +
+ + diff --git a/slides/topics.html b/slides/topics.html new file mode 100644 index 0000000..1d65a05 --- /dev/null +++ b/slides/topics.html @@ -0,0 +1,15 @@ +
+ Topics +
+ +
    +
  • Product Idea
  • +
  • Team
  • +
  • Process
  • +
  • Challenges
  • +
  • Solutions
  • + +
  • Architecture
  • +
  • ROR Auth
  • +
  • Demo
  • +
diff --git a/slides/what-we-have-worked-on.html b/slides/what-we-have-worked-on.html new file mode 100644 index 0000000..fa8eb14 --- /dev/null +++ b/slides/what-we-have-worked-on.html @@ -0,0 +1,8 @@ +
Our main goal for sprint 4
+ +
    +
  • Make existing functionality production ready
  • +
  • Add Logout functionality
  • +
  • Architecture design for token invalidation
  • +
  • Research into CRLITE
  • +
diff --git a/style.css b/style.css new file mode 100644 index 0000000..ebf87cb --- /dev/null +++ b/style.css @@ -0,0 +1,16 @@ + +@import '../../website/style.css'; + +nav { + position: fixed; + bottom: 0; + border-top: 1px solid var(--theme-text); +} + +body { + padding: 0; +} + +main { + font-size: 32px; +}