Skip to content
Iván edited this page Mar 21, 2024 · 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 (v1.0.8-beta) MudClub is a webserver application - ruby on rails - that allows connections (using modern javascript-capable web browsers) to manage any generic team sports club:

  • Server management:
    • Users - who can connect to the server, with 4 profiles allowed (regular user, coach, manager, and admin).
    • Seasons - dates for each season.
    • Sports - only basketball at the moment - including categories, divisions and applicable settings for different rule sets.
  • Drills/Exercises - available to coaches only.
  • Clubs - managers can edit, for their own club:
    • Players
    • Coaches
    • Teams
    • Locations
    • 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 operating system 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 as a starting point.
  • For Windows: No luck there, apart from tutorials on how to setup a development enviroment.
  • 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 - automatically managed if using mudclub-installer:

  • assets/images: All application icons are stored here. Feel free to edit/modify them with your own versions.
  • 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: need edit this to set up your own local 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