-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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.
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).
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).
-
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.
-
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.
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.
(c) Iván González Angullo (iangullo@gmail.com)