Your profile is your personal dashboard within FutsalManager. It shows who you are, how well you are doing in the match predictor, and what is coming up for the teams you follow. The profile page is only accessible when you are logged in — the Angular app enforces this viaDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/danielsl4/TFG_DAM_2526/llms.txt
Use this file to discover all available pages before exploring further.
authGuard, which redirects unauthenticated visitors to /login.
What your profile contains
Account details
Your username and email address, as stored when you registered.
Porra score and rank
Your total prediction points and your position in the global leaderboard.
Followed teams
A grid of every team you follow, each linking to the team’s detail page.
Upcoming matches
The next five pending matches for all the teams you follow, from the active season.
Fetching your profile data
The AngularProfileComponent (route: /profile) calls two endpoints on load and combines the results:
Full profile — GET /user/profile
Returns your basic account information, the list of teams you follow, and their upcoming matches. Requires authentication.
upcomingMatches array is capped at five entries and only includes matches from the currently active season with a future date.
Porra stats — GET /statistics/user-stats
Returns your total points, global rank, and your last 20 vote history entries. Requires authentication.
totalPoints and globalRank are displayed prominently at the top of the profile page. The history entries show whether each past prediction was correct, along with the actual match result.
The profile page does not currently expose a form to update your username, email, or password. Contact an administrator if you need to change your account details.
Understanding your porra score
Each entry inhistory tells you:
| Field | Meaning |
|---|---|
my_prediction | What you predicted: local, empate, or visitante |
real_result | The actual outcome after the match finished |
points_awarded | 1 if your prediction was correct, 0 otherwise; null for pending matches |
status | finalizado (finished) or pendiente (still upcoming) |
my_prediction === real_result and the match status is finalizado.
Profile in the Angular app
The/profile route is protected by authGuard. If you navigate to it without a valid session, Angular automatically redirects you to /login. Once you log in, the ProfileComponent fetches both endpoints above in parallel and renders your followed teams as a clickable grid and your upcoming matches as scrollable match cards.
Related pages
Authentication
Register or log in to access your profile.
Match voting
Learn how to earn porra points and climb the ranking.
Following teams
Follow teams to populate your profile’s upcoming matches section.