How bariskisir/notes works
Notes is a React single-page client backed by an ASP.NET Core API, with application services and a repository-based persistence layer. The main workflow is authenticated users creating, viewing, searching, updating, and deleting their notes; a separate account workflow supports registration, login, token refresh, and account deletion. The README also documents pagination and JWT/refresh-token security. Some UI, registration, and runtime wiring is inferred from the tree and README; only the supplied excerpts were inspected, so uncertain implementation links are omitted.
Main entry points: UserService.cs User service · ApplicationDbContext.cs EF context · App.jsx App · api.js API client
Components 21
React client
- App
src/Notes.FE/src/App.jsx - Auth UI
src/Notes.FE/src/components/AuthPage.jsx - Notes UI
src/Notes.FE/src/components/NotesPage.jsx - API client
src/Notes.FE/src/api.js
API layer
- Auth controller
src/Notes.API/Controllers/AuthController.cs - Notes controller
src/Notes.API/Controllers/NotesController.cs - API host
src/Notes.API/Program.cs
Application logic
- User service
src/Notes.Application/Services/UserService.cs - Note service
src/Notes.Application/Services/NoteService.cs - Password service
src/Notes.Application/Interfaces/IUserService.cs - User repository port
src/Notes.Domain/Interfaces/IUserRepository.cs - Note repository port
src/Notes.Domain/Interfaces/INoteRepository.cs - Token repository port
src/Notes.Domain/Interfaces/IRefreshTokenRepository.cs - Unit of work port
src/Notes.Domain/Interfaces/IUnitOfWork.cs
Persistence
- User repository
src/Notes.Infrastructure/Repositories/UserRepository.cs - Note repository
src/Notes.Infrastructure/Repositories/NoteRepository.cs - Token repository
src/Notes.Infrastructure/Repositories/RefreshTokenRepository.cs - Unit of work
src/Notes.Infrastructure/Repositories/UnitOfWork.cs - EF context
src/Notes.Infrastructure/Data/ApplicationDbContext.cs
Other components
- User
- SQLite database
Connections 22
- User → App: uses
- App → API client: checks session
- App → Auth UI: shows unauthenticated
- App → Notes UI: shows authenticated
- Auth UI → API client: sends auth requests
- Notes UI → API client: requests notes
- API client → API host: HTTP requests
- API host → Auth controller: routes auth
- API host → Notes controller: routes notes
- Auth controller → User service: calls
- Notes controller → Note service: calls
- User service → User repository port: reads and changes users
- User service → Token repository port: reads and changes tokens
- User service → Unit of work port: commits changes
- User service → Password service: hashes and verifies
- Note service → Note repository port: queries and changes notes
- Note service → Unit of work port: commits changes
- User repository → EF context: queries and updates
- Note repository → EF context: queries and updates
- Token repository → EF context: queries and updates
- Unit of work → EF context: saves changes
- EF context → SQLite database: reads and writes