can you help me write an application structure, feature set and architecture document that I can hand to a developer (or AI coding platform) where it will include all aspects of the application where they can get to coding the app? Ask me for clarification if there is something that is not clear and also ask me if you think there is something i am missing or a gap in my thinking.

I am on a team of soccer players and enthusiests. We love to get together and have 'pick-up games' at the local parks.  Our idea is to form an official league/community fo ffellow soccer players where they can sign-up for tournaments and manage the games and players. I want this to be writen in Dart with flutter. I want this to be mobile first but work cross platform with ios android and a web browser.I want to host this on a commercial hosting platform such as HOSTINGER. take security, optimisation (both for speed and site rankings ie.seo) and a modern UX design into consideration. 

here is the what i am thinking for an app. I would like for the app to be able to promote media platforms, promote events, Allow registration for tournaments, Be able to form brackets and view those brackets (Only Admin can change/edit brackets). I also want it to have a suggestion "box". I also want to be able to have player stats on the app so player can know how other players did. I also want to be able to have a teams page so that people can look at the teams and be able to look at the players on the teams. It would also be nice to be able to put possible advertisments on the app later down the line.

Here are some of the pages we want, but feel free to make suggestions on how modern websites function:

1.Registration Tab
There should be an option to register
Registration is only meant to indicate expected people going, however should not restrict extras
Numerator is people who voted to go
Denominator is our preferred number of people going
A tab should exist to explain the function of this tab and reasoning behind denominator


2.Events polling
Community polls should be available 
A person may only vote once
Options should be provided
Users should be able to request an activity, and we should be able to approve of that activity being added to the poll, edit and add, or ignore
Users should be limited in possible requests 
Blocking user requests should be possible

3.Public and Private 
We should have the ability to host events and use its features exclusively for us. This could be done by having a password necessary to join a certain “club” and then only giving access to said club
Private club modes
This could be used to allow others to create their own clubs as well

4. Make a default home tab so that there is a place where you can access the tabs from the home page. Kind of like when you start the canvas app and you have different widgets for the different classes.

I put all of the files you need into the directory that you can access, double and triple check the files to get a good Idea on what your task is.

Use the suggested backend stuff and we will try to run it from there for now.

5.The brackets admin  tab should have a option to randomly assign teams that signed up for that specific event to the     bracket. I would also like  to create a form for a person to create a team and assign him/ her a managment role for 
that teamm where that can enter playernames, numbers, team name, upload a logo, and contact info ie mandatory email and optional phone number. also create a profile page for a team where visitors to the site can view team profiles 
and stats. I also want the events tab to havve a category of events so that  I can make an event for tournaments or an event for a regular pick up scrimmage.

6.Questions: how will teams track goals and stats? wil they track their own? Are you going to give everyone on the team a login so they can access the teams page and they can make a profile?

7.Roles: Player: will be able to create a profile for themselves so they can write their own bio, upload a profile pic, and possibly register for teams/events.
Manager: a manager will be able to create a team using the form that was created the form should be sent to an admin so they can accept or deny the team. They can decline or accept a player into their team if said player requests to join. they can also create the team bio, logo, and stats.'
Viewer: a viewer will have no editing permissions. They are able to look at team profiles and player profiles.
Admin: Admins are able to edit anything anywhere, anytime. The admins are also able to acccept a team. The admin is able to kick people and teams out of tournaments if needed. They can also see who is registered into any event.

8.Assigning teams to tournaments: once registered, calculate odds that a team would win agains another team but only thhe admin can see the odds.
Pickup: I would also like to have the option so that if someone would like to individualy register for a pickup event, they can.