How accfd/myteam works
MyTeam is a student team-finding and team-formation product, with a Flutter mobile client and a Node.js/Express REST API backed by MySQL. The documented user journey is to sign in, discover or create teams, apply or invite candidates, and follow application status through notifications. The backend routes cover these distinct domain stages. Flutter client internals are not included in the supplied source excerpts, so client-to-API communication is shown as unverified; backend route registration and several database calls are directly evidenced.
Main entry points: server.js Express API · db.js MySQL connection pool · applications.js Applications and invitations · auth.js Account access
Components 14
Mobile client
- Flutter app
lib
API entry and identity
- Express API
backend/server.js - Account access
backend/src/routes/auth.js - Google token check
backend/src/middleware/verify_google_token.js - JWT authentication
backend/src/middleware/auth.js
Teams and applications
- Profile history
backend/src/routes/profile.js - Team discovery and setup
backend/src/routes/teams.js - Applications and invitations
backend/src/routes/applications.js - Team membership
backend/src/routes/members.js - Position capacity
backend/src/utils/kuota.js
Persistence and updates
- Status notifications
backend/src/routes/notifications.js - MySQL connection pool
backend/src/config/db.js - MySQL database
Other components
- Student
Connections 18
- Student → Flutter app: uses
- Flutter app → Express API: API access (unverified)
- Express API → Account access: mounts routes
backend/server.js - Express API → Profile history: mounts routes
backend/server.js - Express API → Team discovery and setup: mounts routes
backend/server.js - Express API → Applications and invitations: mounts routes
backend/server.js - Express API → Team membership: mounts routes
backend/server.js - Express API → Status notifications: mounts routes
backend/server.js - Account access → Google token check: verifies Google token
backend/src/routes/auth.js - Applications and invitations → JWT authentication: protects endpoints
backend/src/routes/applications.js - Applications and invitations → Position capacity: checks capacity
backend/src/routes/applications.js - Account access → MySQL connection pool: queries and writes
backend/src/routes/auth.js - Applications and invitations → MySQL connection pool: queries and writes
backend/src/routes/applications.js - Profile history → MySQL connection pool: queries and writes
backend/src/routes/profile.js - Team discovery and setup → MySQL connection pool: queries and writes
backend/src/routes/teams.js - Team membership → MySQL connection pool: queries
backend/src/routes/members.js - Status notifications → MySQL connection pool: queries
backend/src/routes/notifications.js - MySQL connection pool → MySQL database: connects to
backend/src/config/db.js