Skip to content

raphi011/scores-api

Repository files navigation

scores

Motivation

This is mainly a hobby project of mine to improve my skills creating a modern javascript SPA + GO backend with all the newest bells and whistles.

Incomplete list of features / tools:

  • Serverside Rending (courtesy of the awesome nextjs framework).
  • Automated builds / tests / deployments with github actions.
  • Debugging of Front + Backend (via VS-Code).
  • Automated database migrations.
  • Webscraping of http://www.volleynet.at/beach.
  • Plugable persistance architecture, currently it's possible to store the data with Postgresql, MySQL and Sqlite3. No-SQL db's could also be supported.
  • Well tested against all supported data stores
    • Integration tests
    • Unit tests
    • Browser E2E tests (TODO)

Components

Backend

Srape the data from the official Austrian beach volleynet homepage and present it as a REST api.

Web Frontend

Signup/out of Tournaments, browse and filter through tournaments. Get notifications, ...

Build locally

Development is done on Linux with VS-Code.

To get up and running follow these steps:

  1. Install Node / Go 1.11+ / Docker + Docker Compose
  2. Run npm install in ./web-client
  3. Run docker-compose up
  4. Start Frontend / Backend in VS-Code
  5. Create test admin account by navigating to localhost/api/debug/new-admin
  6. Open localhost in your browser of choice and login

FAQ

  • Do you plan to earn money with this project?
    Nope I'm doing this purely for educational and practical reasons :).

  • Do you store volleynet passwords when logging in to tournaments?
    No, the only time you need to enter the volleynet password is when signing up/out of tournaments - since there is no offical API I'm unable to authenticate without having the user provide his/her cleartext password. But rest assured (or look at the sourcecode ;) ) that I will not do anything evil with it.

Contributing

To contribute just open an issue and tell me how you would like to help!