How manon-lipp/sae-4.dweb-di.01 works
This is a React/Symfony social network. Users register or log in, receive bearer tokens, then browse a personalized feed, search users/posts, publish media, reply, retweet, like, follow, block, and edit profiles through the REST API. Symfony controllers delegate authentication and domain operations to services, repositories, and Doctrine-backed MySQL. Administrators separately moderate content and manage users through EasyAdmin. The graph emphasizes sampled call paths; some unsampled endpoint wiring is represented only at the documented API boundary.
Components 26
React Client
- React Router
frontend/src/main.tsx - Social UI
frontend/src/components - API Client
frontend/src/lib/api/index.ts - Search Hook
frontend/src/hooks/useSearch.ts - Client Store
frontend/src/store/StoreContext.tsx
REST API
- Security API
backend/src/Controller/Api/SecurityController.php - Tweet API
backend/src/Controller/Api/TweetController.php - User API
backend/src/Controller/Api/UserController.php - Reply API
backend/src/Controller/Api/ReplyController.php - Retweet API
backend/src/Controller/Api/RetweetController.php
Domain Services
- Registration Service
backend/src/Service/UserRegistrationService.php - Login Authentication
backend/src/Service/LoginAuthenticationService.php - Token Manager
backend/src/Service/TokenManager.php - Tweet Service
backend/src/Service/TweetService.php - Media Upload
backend/src/Service/TweetUploadService.php - Relationship Services
backend/src/Service/FollowService.php
Persistence
- Tweet Repository
backend/src/Repository/TweetRepository.php - User Repository
backend/src/Repository/UserRepository.php - Token Repository
backend/src/Repository/TokenRepository.php - MySQL Database
Administration
- Tweet Moderation
backend/src/Controller/Admin/TweetCrudController.php - Reply Moderation
backend/src/Controller/Admin/ReplyCrudController.php - Retweet Moderation
backend/src/Controller/Admin/RetweetCrudController.php - Censor Service
backend/src/Service/CensorService.php
Other components
- User
- Administrator
Connections 29
- User → React Router: uses app
- Administrator → Tweet Moderation: moderates
- React Router → Social UI: renders routes
- Social UI → API Client: requests data
- Search Hook → API Client: searches API
- Search Hook → Client Store: adds results
- API Client → Security API: calls auth
- API Client → Tweet API: calls tweets
- API Client → User API: calls users
- API Client → Reply API: calls replies
- API Client → Retweet API: calls retweets
- Security API → Registration Service: registers user
- Security API → Login Authentication: authenticates user
- Security API → Token Manager: issues tokens
- Login Authentication → User Repository: finds user
- Token Manager → Token Repository: stores tokens
- Tweet API → Tweet Service: manages tweets
- Tweet API → Media Upload: uploads media
- Tweet API → Tweet Repository: reads tweets
- Tweet API → Relationship Services: checks relationships
- User API → Relationship Services: updates relationships
- User API → User Repository: reads users
- User API → Tweet Repository: reads profile tweets
- Tweet Repository → MySQL Database: queries feed
- User Repository → MySQL Database: queries users
- Token Repository → MySQL Database: queries tokens
- Tweet Moderation → Censor Service: censors tweets
- Reply Moderation → Censor Service: censors replies
- Retweet Moderation → MySQL Database: updates retweets