jwyatt1999 / CITS3403_Cartographers

CITS3403 Project - Josh Wyatt & Joo Kai Tay
0 stars 1 forks source link

CITS3403_Cartographers

CITS3403 Project - Josh Wyatt (@jwyatt1999, 22601159) & Joo Kai Tay (@Bsubs, 22489437)

Link to Deployed Website

https://afternoon-castle-17520.herokuapp.com/

Purpose and Design of the Application

Purpose

The purpose of the application is to provide a daily puzzle that challenges users to think and plan strategically.

Users are encouraged to achieve the highest score they can to place on the leaderboard, which all registered users can see.

Design

The game component of the application was based on the board game "Cartographers: A Roll Player Tale", with some simplifications.

There are two game modes: daily and freeplay. Daily mode uses a set seed that changes daily, this allows users to compare their performance to others on a level field. Freeplay mode uses a randomised seed and is designed for users to try achieve their personal highscore.

The architecture was designed to be as shallow as possible so that it is easy to navigate from one page to any other page in just a few button clicks.

Architecture of the Application

Summary of required pages

How to Launch the Application Locally

If virtual environment has NOT been set up for the project

  1. Open your preferred command line tool and navigate to the base project folder
  2. Enter the command python -m venv venv to create a new virtual environment
  3. Enter the comamnd python venv\Scripts\activate to activate the virtual environment
  4. Enter the command pip install -r requirements.txt to install the website's requirements
  5. Enter the command python -m flask run to run the application locally

If virtual environment has been set up for the project

  1. Open your preferred command line tool and navigate to the base project folder
  2. Enter the command python -m flask run to run the application locally

The application will be run on your localhost: http://127.0.0.1:5000/

Unit Tests and How to Run Them

Database tests

System tests

How to run tests (Assuming virtual environment has been set up for the project)

Database tests

  1. Open your preferred command line tool and navigate to the base project folder
  2. Enter the command python -W ignore -m test to run the tests

System tests

  1. Go to https://chromedriver.chromium.org/downloads and download ChromeDriver 101.0.4951.41
  2. Extract chromedriver.exe from the zip file and place it into the base project folder
  3. Open your preferred command line tool and navigate to the base project folder
  4. Enter the command python -m flask run to run the website locally
  5. Open a new window of your preferred command line tool and navigate to the base project folder
  6. In the new window, enter the command python -W ignore -m systemtest to run the tests

Agile Development of the Application

Sprint 0: Weeks 2 to 4 (07/03 - 27/03)

Sprint 1: Weeks 5 to 7 (28/03 - 17/04)

Sprint 1 Retrospective and Sprint 2 Kick-Off Notes

Sprint 2: Weeks 8 to 10 (18/04 - 08/05)

Sprint 2 Retrospective and Sprint 3 Kick-Off Notes

Sprint 3: Weeks 11 to 12 (09/05 - 22/05)

Project Due: Week 13 (23/05 12pm)

References