This website requires JavaScript.
Explore
Help
Register
Sign In
marcel
/
familienarchiv
Watch
1
Star
0
Fork
0
You've already forked familienarchiv
Code
Issues
115
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
Files
c10e8e8a3a4bf77fe7ca798b27e25e31f8314aa5
familienarchiv
/
docs
/
architecture
/
c4
/
l3-backend-3d-users-groups.puml
Marcel
dbf19037fe
docs(c4): add L3 backend 3c transcription and 3d users/groups
2026-05-06 22:52:21 +02:00
2.8 KiB
Raw
Blame
History
Component Diagram: API Backend â Users, Groups & Administration
Component Diagram: API Backend â Users, Groups & Administration
API Backend (Spring Boot)
[system]
«component»
UserController
[Spring
MVC
â
/api/users]
Returns
current
user
(/me),
creates
and
deletes
users
(requires
ADMIN_USER),
supports
user
search
and
profile
updates.
«component»
GroupController
[Spring
MVC
â
/api/groups]
Lists
and
manages
permission
groups.
«component»
TagController
[Spring
MVC
â
/api/tags]
Lists
tags
for
typeahead,
supports
tag
merge,
tree
structure,
and
subtree
deletion.
«component»
InviteController
[Spring
MVC
â
/api/auth/invite]
Creates
invite
codes
and
validates
them
at
registration
time.
Rate-limited
via
WebConfig
interceptor.
«component»
AuthController
[Spring
MVC
â
/api/auth]
Handles
user
registration
(POST
/register)
and
password
reset
token
endpoints
(/forgot-password,
/reset-password).
«component»
UserService
[Spring
Service]
User
CRUD
with
BCrypt
password
encoding,
group
assignment,
and
audit
logging.
Orchestrates
invite-based
registration
and
password
reset
tokens.
«component»
TagService
[Spring
Service]
Tag
CRUD
with
name
search,
hierarchical
tree
structure,
merge/reparent
operations,
and
recursive
subtree
deletion.
«component»
DataInitializer
[CommandLineRunner]
On
startup:
creates
default
admin
user
and
groups
if
none
exist.
Seeds
test
data
if
DB
is
empty.
«component»
AppUserRepository
[Spring
Data
JPA]
Finds
users
by
email.
Supports
search
by
email
or
display
name.
«component»
UserGroupRepository
[Spring
Data
JPA]
Manages
permission
groups.
«component»
TagRepository
[Spring
Data
JPA]
Finds
or
creates
tags
by
name
(case-insensitive).
Supports
recursive
ancestor/descendant
CTE
queries
and
merge/reparent
helpers.
«container»
Web
Frontend
[SvelteKit]
«container»
PostgreSQL
[PostgreSQL
16]
User
requests
[HTTP
/
JSON]
Group
requests
[HTTP
/
JSON]
Tag
requests
[HTTP
/
JSON]
Invite
validation
[HTTP
/
JSON]
Registration
and
password
reset
[HTTP
/
JSON]
Delegates
to
Delegates
to
Delegates
to
Reads
/
writes
tags
Creates
and
validates
invites
Registers
users,
resets
passwords
Reads
/
writes
users
Assigns
groups
Seeds
initial
data
[JDBC]
SQL
queries
[JDBC]
SQL
queries
[JDBC]
SQL
queries
[JDBC]
Reference in New Issue
View Git Blame
Copy Permalink