Skip to content

Website to help manage a South Park Phone Destroyer team composed of an asp.net core Restful API and a Vue fronted.

License

Notifications You must be signed in to change notification settings

taconaut/Sppd.TeamTuner

Repository files navigation

Sppd.TeamTuner

Build Status codecov

Introduction

Sppd stands for South Park Phone Destroyer, a mobile game available for Android and iOS devices.

This project aims at making team planning a bit easier:

  • Everyone can create a profile on the website.
  • Once logged in you can create a new team or request to join an existing one.
  • Everyone can set the level for his cards.
  • The card levels of all team members are being aggregated for the team. This makes it easier to select the cards to upgrade for team wars. (TODO)
  • [...more to come...]

Origin

This project has been started mainly out of technological interest to

  • get a hands-on experience with .net core
  • figure out how to build a frontend with a modern technology (Vue)
  • find ways to fill the gaps (e.g. generate frontend API client classes) in order to have a workflow as easy as possible
  • set up continuous integration and continuous delivery (CI/CD) to guarantee good quality.

I'm also using this project as a playground to test new concepts and define the best practices I'd like to apply in other projects. If you have any improvements to propose please do.


Technical

The repository contains the backend, exposing a RESTful API, which is an ASP.net core 2.2 application and the frontend, consuming the API and using the data, which is a Vue 2 application.

Details:

Prerequisites

  • Node.js: Frontend (using the current version, node 12.13.1 with npm 6.12.1, by the time of writing this)
  • .NET Core 2.2 SDK: Backend
  • SQL Express: Default database (this is not absolutely required as Sqlite can also be used, but strongly recommended)

Run the application in development mode

Backend

From Backend directory, install the dependencies once:

dotnet restore ./Sppd.TeamTuner/Sppd.TeamTuner.csproj

and run the backend:

dotnet run --project ./Sppd.TeamTuner/Sppd.TeamTuner.csproj --launch-profile Development

Frontend

From Frontend directory, install the dependencies once:

npm install

and serve the frontend:

npm run serve

Build automation

Cake (c# make) is being used as build automation tool. Targets have been defined to build, test, package the backend along with the frontend; it can also upload test coverage results to Codecov.

Example: Execute .\build.ps1 -Target Zip-Package in a PowerShell console to package the entire application.

Details:

Tools

These tools have proven useful.

Backend:

Frontend:

  • Visual Studio Code: Development (recommended extensions: Babel JavaScript, ESLint, PowerShell, Vetur)

General

  • Notepad++: For anything related to text, json, xml, etc. files
  • Visual Studio Code: Cake scripts and markdown documentation (recommended extensions: Cake, Markdown All in One)

Dependencies

Please check the GitHub Dependency Graph for the complete list.

Contributing

If you would like to participate in the project, please submit a pull request or get in touch with me if you have any questions.

About

Website to help manage a South Park Phone Destroyer team composed of an asp.net core Restful API and a Vue fronted.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published