Getting started
Configuring
The platform's configuration lives in two places:
.env.local, on the server: what belongs to this server and stays secret.bin/new-instancewrites the app secret, the database, the JWT passphrase and the public address (Installing). You add the payment gateways' keys (Payments) and, if you like,SETTINGS_KEY(Secret settings) andSENTRY_DSN. After a change:php bin/console cache:clear, or restart the containers.- The admin, under Settings: everything else. A change shows on the next page and in the apps, with no deploy and no new app.
Secret values entered in the admin (Mailgun's key, the S3 secret, the Pusher secret) are sealed in the database. The settings list says whether each one is set, never what it is.
Settings
| Screen | What it holds |
|---|---|
| General | The platform's name, public address, support email, country, currency, default language and time zone; the organisation type; the logos; the legal identity (legal name, tax ID, registration number, address) and the addresses of your terms and privacy policy. |
| Website | The colours and typeface of the website and the emails, the tagline and the hero image, which sections the home page shows, and match reports. The apps' store links, and the identifiers that let an invite link open the app: Apple team ID, bundle ID, Android package and its SHA-256 fingerprints. More in The website. |
| Legal documents | Your terms and privacy policy, a version per language. The website and the apps link to them, and new accounts accept them. |
| Payments | Which gateways take payments (Stripe, NETOPIA, PayPal), test mode, the card processing fees passed on to payers, and the platform's commission on venues' payouts (Payments). |
| Invoices | What every receipt prints: the business name, address and VAT number, the number prefix, and a VAT rate for each kind of payment. |
| Privacy | Whether to ask about news and offers by email, and how long personal data is kept: unused accounts, notifications, availability notes, the audit log, and how long you keep receipts (Privacy and GDPR). |
| Processing record | The record of processing activities, filled from the settings, to review and keep (Privacy and GDPR). |
| Sports | The sport profiles: each one offered or hidden, and its rules (players on the field, periods, points for a win). Only offered sports can be picked for a competition or a court. |
| Sign-in security | Two-factor sign-in by emailed code, how many days a trusted device skips it, and who is exempt. |
| Mail & notifications | Whether emails are sent, their sender, and Mailgun (key, domain, region); the Expo access token for pushes, when the app's Expo project asks for one; Pusher's keys for live scores and counts. |
| Storage | Where uploaded images are kept: on this server, or in an S3-compatible bucket (region, bucket, key, secret and its public address). |
The organisation type
General, Organisation type is a league, a venue operator or a club. It decides what comes first:
- A league: its competitions lead the admin's menu, and the website's home shows its table, fixtures and results.
- A venue operator: courts and bookings lead, and the home page shows its venues and courts.
- A club: teams and members lead.
Every feature stays available whatever the type. Under Settings, Website, the admin turns each home section on or off, which wins over the type.
Languages
The website, the emails, the notifications and the app speak 16 languages, Arabic right to left. Settings,
General, Default language is the platform's own: the website's, and that of anyone who hasn't chosen. Each person
picks their own in the app, and their emails and notifications follow it; the website's footer switches the
website's language. Which languages
the app offers is the brand's choice (locales.enabled in its brand.json).
Pages, news and menus have a version per language; on a page, the admin's Translate action starts the missing one. The names of your competitions, teams and venues are written once, in your own words.
The admin's own labels are in English. EasyAdmin's own texts (buttons, search, pagination) follow the admin's language where EasyAdmin has it.
Time zones
Settings, General, Time zone is the platform's: the reports and "this week" use it. Each venue has its own (the venue's page in the admin), which its fixtures and bookings follow, so a club across a border keeps its own clock.
Running the platform
| Page | What it's for |
|---|---|
| API keys | Keys for other systems that read the public API (Public API and widget). |
| Audit log | Who changed what in the admin, and when. |
| Application logs | The errors and warnings, to find out what went wrong. |
| Platform updates | Whether a newer release is out, and what it brings (Upgrading). |
| License | The key, the domain it is activated for, and another key's activation. |
Found a mistake? Tell us.