/alysopedia-wiki-project

A wiki/game hybrid for a game I'm making

Primary LanguageJavaScriptMIT LicenseMIT

Alysopedia Wiki Project

Welcome to the Alysopedia Wiki Project!

Taking onboard our QA Academy training - this is a post-academy, self-assigned and managed project. The aim is to expand and build on our knowledge and learn new technologies. The project is split into phases and is currently in the first phase of development.

This first phase is intended to be an admin managed game wiki app to provide and manage a database of additional information and lore for the future game Alysia Is Mine.

Table of Contents

  1. About the Project
  2. Project Status
  3. Getting Started
    1. Getting the Source
    2. Dependencies
    3. Building
    4. Usage
  4. Release Process
    1. Versioning
  5. Further Reading
  6. Contributing
  7. How to Get Help
  8. License
  9. Authors
  10. Acknowledgements

About the Project

The project is currently split into 4 phases. We are on Phase 1: Wiki.

  1. Wiki - The main purpose of the project is to create a wiki application, and as it isn't dependent on anything, it's naturally the first stage of the project. This wiki will have the capacity to store vast amounts of data, add it from the user side (as an admin), and display in an aesthetically pleasing manner. With no time constraint on the project, stylising the user interface will not be limited in any way. Once this is complete, the project will be released as v1.0.0.

  2. QR - There needs to be a way the application interfaces with the Alysia Is Mine game in order to validate its existence. The decided method is to scan QR codes displayed in the game to unlock certain features of the application i.e. spoiler information. Once this is complete, the project will be released as v2.0.0.

  3. Game - Adding onto the second phase, this phase will develop the project from a basic wiki application and become more independent. The objective of this phase is to give the project its own purpose beyond merely being a free extension to Alysia Is Mine. This phase will also look into directly connecting this application to Alysia Is Mine through a currently undetermined method (Node.js's TCP interface is the most likely method). Once this is complete, the project will be released as v3.0.0.

  4. Final - Ongoing tweaks to improve functionality, quality-of-life and to build on feedback provided by black-box testers.

Technologies that will be used in the project...
  • Version Control System: Git
  • Source Code Management: GitHub
  • Kanban Board: GitHub Boards
  • Database Management System: MongoDB (local for now)
  • Back-End Programming Language: Java
  • API Development Platform: Spring
  • Front-End Web Technologies: HTML, CSS, JavaScript, Axios
  • Build Tool: Maven
  • Unit Testing: Junit / TestNG, Mockito
  • Integration Testing: Cucumber-Selenium
  • Test Reporting: Surefire / ExtentReports
  • CI Server: Jenkins
  • Static Analysis: SonarQube
Other technologies which are being considered:

Front-End Web Technologies: Phaser, React Security Technologies: Spring Security, bcrypt Cloud Technology: AWS / Azure Load Testing: JMeter Other: GameMaker Studios 2, Node.js

Please see the documentation folder for the other documentation.

Back to top

Project Status

Current release: v0.1 - in development

Test Coverage: For src/main/java: 0% // Overall: 0% // 0 tests

There are currently no test reports as we are in the early stages of the project. For test reports please see the documentation folder.

Jenkins Status (CI Pipeline):

N/A

Back to top

Getting Started

Getting the Source

This project is hosted on GitHub. You can clone this project directly using this command:

git clone https://github.com/Christian-QA/alysopedia-wiki-project.git

Dependencies

What things you need to install the software and where to find them. Currently incomplete / in development.

To Run

The app is currently still in development.

IDE's to Develop IntelliJ Ultimate here, Visual Studio Code here, Eclipse here.

Links for Dependencies Java latest version here, Maven here, MongoDB here, Git & Git Bash here, Jenkins here, Postman here, Google Chrome here

External API's N/A

Back to top

Building

How to build this project:

Built With

Maven - Dependency Management

  • Warning! The app does not have a 'stop' function, it is advised to only run in an IDE.
  • Clone the repo to your machine.
  • Open the cmd line / git bash inside the repo file directory.
  • Run the following commands:

mvn clean package

mvn spring-boot:run

As a Spring app, running the jar with java -jar FileName.jar won't work (at least not without some config).

Usage

This project is intended to be a learning experience as well as an admin managed game wiki app to provide and manage a database of additional information and lore for the future game Alysia Is Mine.

Back to top

Release Process

This project is in development and not yet at 'release' stage - once the first phase is complete a v.1.0.0 will be released (planned for September 2020). Each phase will be a new release.

There are currently no time contraints set on this project.

Versioning

We use SemVer for versioning. For a list of available versions, see the repository tag list.

Back to top

Further Reading

  • Placeholder text
  • difjoif
  • dfiqjo

Back to top

Contributing

Currently we are not accepting contributions due to the nature of this project being part of our continuted learning.

How to get help

If you have questions regarding the project you can get in touch via email at: carstracode@gmail.com

License

This project is licensed under the MIT license - see the LICENSE.md file for details

For help in Choosing a license

Back to top

Authors

Acknowledgements

Back to top