How arhrid-hamza/smartcollab works
EMSICollab is documented as an academic project and PFE platform: users sign in, maintain role-based profiles and skills, then use project publication, recommendation, applications, and teacher review; teams also receive skill-fit evaluation. The available tree contains the frontend and auth service, but not the documented project or matching service implementations, so those capabilities are represented only from the README. Edges for sampled flows use source references or excerpts; unsampled service relationships cite the README.
Main entry points: AuthService.java Account services · App.jsx SPA routes · client.js HTTP client · AuthContext.jsx Session context
Components 20
Web application
- SPA routes
frontend/src/App.jsx - Login and registration
frontend/src/pages/LoginPage.jsx - Role dashboards
frontend/src/pages/DashboardPage.jsx - Session context
frontend/src/context/AuthContext.jsx - HTTP client
frontend/src/api/client.js
Identity and skills
- Auth endpoints
backend/auth-service/src/main/java/com/smartcollab/auth/controller/AuthController.java - User management
backend/auth-service/src/main/java/com/smartcollab/auth/controller/UserController.java - Account services
backend/auth-service/src/main/java/com/smartcollab/auth/service/AuthService.java - JWT issuance
backend/auth-service/src/main/java/com/smartcollab/auth/security/JwtService.java - User repository
backend/auth-service/src/main/java/com/smartcollab/auth/repository/UserRepository.java - Skill catalog API
backend/auth-service/src/main/java/com/smartcollab/auth/controller/SkillController.java - Skill repository
backend/auth-service/src/main/java/com/smartcollab/auth/repository/SkillRepository.java - Auth PostgreSQL
Project lifecycle
- Project publishing and applications
- PFE recommendations
- Teacher review
Team matching
- Team fit engine
- Teammate recommendations
- Kafka events
Other components
- Student, teacher, admin
Connections 23
- Student, teacher, admin → SPA routes: uses
- SPA routes → Session context: provides session
frontend/src/App.jsx - SPA routes → Login and registration: routes to
frontend/src/App.jsx - SPA routes → Role dashboards: routes to
frontend/src/App.jsx - Login and registration → Session context: authenticates through
frontend/src/pages/LoginPage.jsx - Session context → HTTP client: calls API
frontend/src/context/AuthContext.jsx - HTTP client → Auth endpoints: sends auth requests
- HTTP client → User management: verifies session
- Auth endpoints → Account services: delegates to
backend/auth-service/src/main/java/com/smartcollab/auth/controller/AuthController.java - User management → Account services: manages accounts
backend/auth-service/src/main/java/com/smartcollab/auth/controller/UserController.java - Account services → User repository: reads and writes
backend/auth-service/src/main/java/com/smartcollab/auth/service/AuthService.java - Account services → JWT issuance: issues tokens
backend/auth-service/src/main/java/com/smartcollab/auth/service/AuthService.java - Skill catalog API → Skill repository: queries skills
backend/auth-service/src/main/java/com/smartcollab/auth/controller/SkillController.java - User repository → Auth PostgreSQL: persists accounts
README.md - Skill repository → Auth PostgreSQL: persists catalog
README.md - Student, teacher, admin → Project publishing and applications: publishes or applies
README.md - Project publishing and applications → PFE recommendations: feeds matching
README.md - Project publishing and applications → Teacher review: enters review
README.md - Project publishing and applications → Kafka events: emits project event
README.md - Kafka events → Team fit engine: dispatches event
README.md - Team fit engine → Teammate recommendations: suggests candidates
README.md - Team fit engine → Account services: retrieves profiles and skills
README.md - Team fit engine → Project publishing and applications: retrieves requirements
README.md