LIVE PREVIEWBUY FOR $33

One squad, one display — and all people sees the identical factor.

Ship a group app your squad truly opens on a Saturday: 21 completed screens, a fixture-to-season loop that works finish to finish on day one, and reside updates throughout each telephone on a Firebase undertaking you personal. Gentle and darkish themes, GetX structure, offline documentation, and a commented security-rules file with 50 assertions you’ll be able to run your self.

Demo Directions — the sign-in display is a mock and contacts no server, so any credentials are accepted. Use [email protected] / demo1234, or just faucet Check in with each fields left empty. There isn’t a account to register, no Firebase undertaking to create and no community required: Demo Mode is on out of the field, so each display works on the machine with a pattern squad of eighteen. Onboarding has a Skip within the nook.

Rostora — Flutter Sports Team Management App: one squad, one screen

Why this one

  • Stay throughout the squad on day one: one particular person solutions a fixture and each different telephone adjustments — Firebase Authentication and Cloud Firestore, on a undertaking you personal.
  • Examined, not simply screenshotted: 104 assessments go, and 50 security-rule assertions run in opposition to Google’s personal Firestore emulator with one npm command.
  • Your colors in a day: each color, radius and sort token lives in a single file, and the bundled documentation walks via re-skinning from it.

Demo Mode, mild and darkish

Each display works earlier than Firebase is configured. The pattern group pins “right this moment” to its personal date, which is why the screenshots, the reside preview and the assessments all agree with one another, and nothing is written to disk whereas Demo Mode is on.

flutter pub get
flutter run

Demo Mode, light and dark — every screen works with no Firebase project and no account

Who’s about on Saturday?

One faucet for going or out, and the entire squad sees it. Rows are gamers, columns are the subsequent fixtures, and each cell is certainly one of three stamps: a stuffed tick for going, a defined cross for out, a dotted query mark for no person having answered. Your individual row is pinned to the highest and outlined within the model color, and tapping your personal cell cycles your reply. You can not faucet anyone else’s — and neither can the captain, which is enforced within the safety guidelines relatively than solely within the interface.

No possibly column. The third state is no person having answered, which is the one one a captain can act on. The abstract below the board counts the entire squad — 12 going, 3 out, 3 no reply — so the three numbers all the time add as much as the roster above them.

The availability board: eighteen players against the next five fixtures, three stamps per cell

Shirts on a pitch, not cells in a grid

Faucet an empty shirt and the gamers who mentioned they’re going are listed first. Publish, and each telephone within the squad reveals that participant their place. Soccer 11, 7 and 5-a-side, futsal and basketball every include their very own drawn pitch and their very own formations — 4-3-3, 4-4-2, 3-5-2, 2-3-1, 1-2-1, beginning 5. Volleyball and “different” get a named checklist as an alternative, as a result of a rectangle with six dots on it’s a diagram no person reads.

The line-up board: a drafted 4-3-3 beside the same line-up published to the squad

The match, because it occurs

The captain logs a objective, a card or a substitution and each telephone watching updates. Occasions sit on a horizontal band — ours above the road, theirs under.

Nothing right here runs a clock. The minute is typed in, as a result of the particular person protecting the file can be watching the sport, and a timer began 4 minutes late is mistaken for the entire match after which retains working via half time. The rating is counted from the targets, by no means typed in — so deleting one which was logged twice places the scoreboard proper once more.

The match center: a scoreboard, a horizontal event band, and the sheet for logging an event

Notices and polls, as an alternative of a bunch chat

A pinned discover on the high, then the questions the membership is asking. Votes are proven because the individuals who solid them, one initials chip every, yours ringed. A group of eighteen doesn’t desire a proportion bar — it needs to know whether or not Ade is without doubt one of the six.

  • Pin what should not scroll away
  • Two to 5 solutions, change your vote any time
  • An elective closing time, and it closes
  • Notices and polls solely — this app replaces a bunch chat relatively than reproducing one

The board: a pinned notice, and a poll whose votes are shown as the people who cast them

The season, from what was recorded

Appearances, targets, assists, playing cards and reply charges are recomputed from the fixtures, solutions and match occasions each time they’re learn. Nothing is saved as a working whole, so deleting a fixture corrects the desk.

Three locations it refuses to invent a quantity: no matches performed but offers you the date of the primary one relatively than a column of zeros; a participant who joined after the final fixture has no reply fee relatively than nought per cent; an unpublished line-up says so relatively than displaying an empty pitch.

The season screen: the record, and appearance, goal, assist and reply-rate tables

There isn’t a server belonging to us

Join your personal Firebase undertaking and the identical app turns into a shared, reside one: your squad, your undertaking, your account, your billing. E-mail and password sign-in, plus nameless sign-in for the team-mate who was handed a code in a parking lot and has not signed up but — with an improve that hyperlinks a password to the identical account, so no person loses their place within the squad by signing up late.

firestore.guidelines ships commented rule by rule: membership is a doc, captains and coaches write fixtures and line-ups, and your reply to a fixture can solely ever be written by you. 50 security-rule assertions ship with it, in a harness that runs them in opposition to Google’s personal Firestore emulator with npm check. 0 composite indexes to deploy, and about 10 minutes from a brand new undertaking to a reside squad.

The invite code sheet, and the settings screen showing which store the app is running on

Constructed for builders

  • Clear GetX structure: View, Controller, Service and Mannequin, with a lazy binding per route.
  • One repository interface, two implementations: FirestoreTeamRepository for reside information, LocalTeamRepository for Demo Mode — the screens speak to neither instantly.
  • One color file: app_colors.dart holds each color the app makes use of, and the documentation has a re-skinning chapter constructed round it.
  • Guidelines and their harness ship collectively: firestore.guidelines commented rule by rule, and firestore_tests/ runs its 50 assertions on the emulator with npm check.
  • Eight dependencies and no vendor SDKs: flutter analyze experiences zero points.

What you get

  • 21 screens and 9 sheets, mild and darkish, GetX, Materials 3
  • 8 dependencies, and no vendor SDKs; flutter analyze experiences zero points
  • 104 assessments, all passing — the season engine, the invite-code alphabet, the backup spherical journey and colour-contrast measurements of each text-on-fill pair in each themes
  • 50 security-rule assertions on the emulator, in a harness you’ll be able to run
  • Backup and restore: each group as one JSON file via the share sheet, and a spherical journey is byte-identical
  • Offline HTML documentation, 20 chapters, with a re-skinning information and a glossary of each terminal command it asks you to run
  • Three bundled typefaces below the SIL Open Font License 1.1 — nothing is downloaded at run time

What you get: 21 screens, 8 dependencies, 104 tests, 50 rule assertions

Necessities

Flutter SDK 3.29 or newer, Dart 3.7+, Android Studio or VS Code. Android and iOS. A Firebase undertaking is elective — the app is full with out one.

Assist

Questions on setup, Firebase or re-skinning are answered via the merchandise’s feedback. Merchandise assist covers the template itself; it doesn’t cowl your Firebase undertaking’s personal account, quota or billing.

Notes

Third-party providers and exterior prices: Rostora runs on bundled pattern information out of the field. Connecting it to a reside again finish — a Firebase undertaking of your personal, with Authentication and Cloud Firestore — will contain these third-party providers, which is able to incur their very own separate prices and usually are not a part of this merchandise; quotas, billing and any pricing change are Google’s and yours, and the documentation works the numbers via for a 25-person squad on the free plan. Push notification supply isn’t wired on this model: the app obtains a Cloud Messaging token, and sending a message wants a sender, which wants a server, so the app marks fixtures no person has answered as an alternative. Images are exterior the scope of this model — avatars, crest uploads and match photographs would wish Firebase Storage, which isn’t on the free plan, so initials and a drawn pennant are used as an alternative. Chat and personal messages usually are not a part of this merchandise; notices and polls cowl the identical floor. Subscription assortment, match charges and funds usually are not wired in both, and the improve display is a mock that contacts no retailer and prices nothing. Leagues, tables throughout golf equipment, exterior fixture or rating feeds and video are exterior the scope of 1 group’s personal app. Google, Apple and phone-number sign-in are documented as add-ons relatively than shipped half-configured.


Source