Personal Project Final1
Assignment 4: Personal Project - Phase 2 (Weeks 11+)
Based on your personal project proposal!
Implement your project in aspnet.core in CLEAN/ONION architecture.
What must be there:
- domain design (everything in your project proposal, min 10 meaningful db entities)
- rest api controllers, versioning, public dtos
- swagger
- auth (jwt)
- client UX (mvc, scaffolded, no need to do anything fancy. just to prove that domain logic works)
- admin UX (mvc, area, functional, protected, designed, nice, good to use. no viewbags/viewdata - use viewmodels)
- translations in UI (i18n, resx files)
- translations in DB (i18n, in db - langstr)
- idor (user can only access their own data - in rest controllers)
- ci/cd deploy (asp app, db)
Repositories, UOW, servives, BLL, mappers - mandatory.
Full Admin UX.
Test coverage - mandatory.
Separate client app
- ci/cd deploy (client hosted from separate web server - if js, hosted from different url, cors handling)
bonus track: full coverage with unit, integration tests and e2e tests (playwright or similar).
Write your own client in any technology you like (react, angular, vue, blazor, android, ios, dotnet etc).
Using your own backend rest api and JWT/refresh_token authentication.
Deploy the client to your VPS (separate docker/domain) - if it is web based.
Client must be able to login/logout, use jwt and refresh token flow, and do CRUD operations against your backend (minimum 3 entities).
In final defence, all apis must be implemented, client must demonstrate working solution against your backend.
https://gitlab.proxy.itcollege.ee/2025-2026-spring/akaver-csharp-demo/