Skip to content
Iván edited this page May 2, 2023 · 40 revisions

Welcome to the MudClub wiki!

MudClub was born to scratch a personal itch: an open source tool to manage my own basketball team. Originally just thinking about organising my own drills/excercises and training plan... later became a bit more ambitious.

Season-index

As it is (v0.7) MudClub is a webserver application - ruby on rails - that allows connections (using modern javascript-capable web browsers) to manage any generic team sports club:

  • Users - who can connect to the server, with 3 profiles allowed (regular user, coach, and admin).
  • Seasons - dates, teams, locations and practice times for a season.
  • Players
  • Coaches
  • Teams
  • Locations
  • Drills/Exercises
  • Events - Resting dates, training sessions and competitions (matches).

Access to who can do what depends on the user role and ownership (e.g. only a teams coach can edit that teams training sessions).

Getting Started:

Today, only Linux is officially supported as a target to host MudClub. However, if you have experience deploying Ruby on Rails apps in other platforms, you should be fine - I would appreciate any feedback on these (if any).

  • Installation

    • For Linux systems: Use the mudclub-installer - tested to work on Debian 12 - appreciate any feedback on other installations (if any).
    • For OSX: Check this article has a starting point.
    • For Windows: No luck there, apart from tutorials on how to setup a development enviroment.
    • Deploy to the cloud: Use a dedicated (paid) cloud service that supports hosting Rails applications - e.g. Render or Heroku
  • Access: Make sure you can access the IP address of the host where you have deployed MudClub

    • Point your favorite web-browser to the DNS or IP address of the host where you have installed MudClub.
    • Default User: admin@mudclub.org
    • Default Password: mudclub-admin
    • Web pages are reponsive and you should be able to access with any modern javascript-capable mobile or PC web browser.
  • Thats it!

  • MudClub Topbar: Offers responsive application topbar menus.
  • Mudclub sections: Views for each part of the application. Relying heavily on custom ViewComponents.
  • Components: Several custom ViewComponents designed to minimise repetitive HTML coding in Views and Helpers
  • Controllers: Perform all data preparation and actions - leverage Helper & Components to maximize "ruby" coding vs HTML or CSS.
  • Models: Object management - including associations and custom information access.
  • Helpers: Auxiliary code to define required Component definitions for each Controller.
  • Views: HTML views to be served - minimalistic files mostly just rendering Components already created by Controllers.
  • Database: Expecting an available PostgreSQL database server with the default configuration expected to be:
    • Enabled unaccent PosgreSQL server extension.
    • username: mudclub
    • password: EtClausi (long story).
    • privileges: capable of creating databases.

Configuration

Key files to edit to deploy your own server.

  • assets/images: All application icons are stored here. Feel free to edit/modify them with your own versions - e.g. 'clublogo.png' is used only to establish the html favicon.* database.yml: database type, connection and access credentials.
  • config: Configuration files that you should consider editing before deploying your own server
    • database.yml: user/password for PostgreSQL access.
    • secrets.yml: strongly advise to edit this to create your own secret key.
    • storage.yml: where you will be storing your data files - local storage by default.
    • locales: locale translation files - English and Spanish available for the moment. If you wish to contribute with new locales, feel free to reach out to me!
    • initializers/locale & initializers/phonelib: feel free to adapt to your own preference.
Clone this wiki locally