- Task Description
- Code of Conduct
- Requirements
- Live Site: codelingo.hu
| Name | Role | GitHub Profile |
|---|---|---|
| Tamás Tisza | Manager | TiszaTamas |
| Bendegúz András Szczuka | Architect | szczukabendeguz |
| Olivér Tolnai | Frontend Developer | oli-tolnai |
| Ádám József Prohászka | Frontend Developer | adamprohaszka |
| Bence Kóbori | Frontend Developer | koboribence |
| Mihály Homonnai | Backend Developer | misih26 |
| Máté Zsebeházi | Backend Developer | MateZsebehazi |
- Tech stack: ASP.NET 8 backend, Angular frontend, Bootstrap UI.
- Branching: GitFlow (master, develop, feature/, hotfix/).
- Tasks: GitHub Projects board per sprint columns.
- Meetings: Twice per week per coc.md. Usually thurstday and sunday.
- Production URL: https://codelingo.hu
- Prerequisites: .NET 8 SDK, Node.js LTS, Angular CLI.
- Backend:
- Open solution: CodeLingo.sln
- Run API:
dotnet run --launch-profile https
- Frontend:
- Open CodeLingo.Frontend
- Install:
npm install - Run:
ng serve -o
- Visit https://codelingo.hu to use the live application.
- Start backend and frontend.
- Backend default URL: http://localhost:7107 (Swagger enabled)
- Frontend URL: http://localhost:4200
- Register/login
- Practice answering questions
- Collect points and levels
- Profile page
- Admin panel
- Admin user
- username:
adminpassword:Codelingo123!
- username:
Rövid kivonat. Teljes specifikáció: docs/technical/api-reference.md
-
Authentication
Endpoint Method Description /auth/registerPOST Register a new user, return JWT and refresh token /auth/loginPOST Log in, return JWT and refresh token /auth/token/refreshPOST Refresh access token using a refresh token -
User Management
Endpoint Method Description /users/meGET Get the authenticated user's profile /users/mePUT Update profile /users/me/statisticsGET Personal stats (total questions, accuracy, streak, rank) -
Practice Mode
Endpoint Method Description /sessions/startPOST Start a new practice session /sessions/{id}/nextGET Get the next question or completion state /sessions/{id}/answerPOST Submit an answer and scoring /sessions/{id}/closePOST Close the session and return summary /sessions/{id}/resultsGET Detailed session results -
Progress & Stats
Endpoint Method Description /users/{id}/statsGET User statistics and progress /leaderboardGET Global/filtered leaderboard -
Admin - Language Management
Endpoint Method Description /admin/languagesGET List languages /admin/languagesPOST Create a new language /admin/languages/{id}PUT Update a language /admin/languages/{id}DELETE Delete a language -
Admin - Question Management
Endpoint Method Description /admin/questionsGET List questions with filtering/pagination /admin/questions/{id}GET Get detailed question by ID /admin/questionsPOST Create a new question /admin/questions/{id}PUT Update a question /admin/questions/{id}DELETE Delete a question -
Admin - Import/Export
Endpoint Method Description /admin/questions/importPOST Import questions (CSV/Aiken, sync/async) /admin/questions/import/{jobId}/statusGET Import job status /admin/questions/exportGET Export questions (JSON/CSV/Aiken, sync/async) /admin/questions/export/{jobId}/statusGET Export job status and download link
-
Landing Page
- Purpose: Welcome screen with feature highlights and clear CTAs.
- Key actions: Sign Up, Log In, Start Practice (when logged in).
-
Login
- Purpose: Authenticate existing users.
- Key actions: Submit credentials, "Remember me", navigate to Register.
-
Register
- Purpose: Create a new user account.
- Key actions: Fill form with validation, navigate to Login after success.
-
Practice Starter
- Purpose: Configure a new practice session.
- Key actions: Select language, difficulty, question count; start session.
- Backend: POST /sessions/start
-
Practice Session
- Purpose: Show current question, collect answer, proceed to next.
- Key actions: Submit answer, see feedback, continue.
- Backend: GET /sessions/{id}/next, POST /sessions/{id}/answer
-
Session Results
- Purpose: Display session summary and performance.
- Key actions: Review answers, navigate to leaderboard or start a new session.
-
Leaderboard
- Purpose: Show rankings and competition stats.
- Key actions: Filter by range/language, view positions.
-
Profile
- Purpose: Manage user profile and view personal stats.
- Key actions: Edit profile, change avatar, review statistics.
-
Admin Panel
- Purpose: Administer languages, questions, and monitor KPIs.
- Key actions: CRUD for questions/languages, import/export, dashboard metrics.
| Problem | Solution | Affected Area |
|---|---|---|
| Issue template was hard to understand | Created examples and filled-in templates | Scrum process |
| Project was completely new | Plan issues in the first phase | Scrum process |
| Ticket collisions | Assign similar tickets to the same person | Scrum process |
| Dependent issues got stuck | Prioritize properly | Scrum process |
| Changes weren't merged to master early on | Add merge as a requirement before closing | Git workflow |
| Too many extras in the API | Strive for simplicity | Backend |
| Burnup chart looked off | Ensure issues are properly closed | Scrum process |








