# hibler00008/localboost-platform-sb architecture

> Architecture diagram of the GitHub repository hibler00008/localboost-platform-sb, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/hibler00008/localboost-platform-sb
- Repository: https://github.com/hibler00008/localboost-platform-sb

## Overview

LocalBoost is a marketplace connecting local businesses and micro-influencers. Users register or sign in, build role-specific profiles, discover or create campaigns, apply and review applications, then message accepted collaborators; dashboards and matching support those stages. The graph includes the documented campaign, application, matching, dashboard, profile, and chat capabilities. Sampled controllers and services establish several call paths; some unsampled feature wiring is represented only where the README or tree supports it. Payments are not modeled in the sampled dashboard source.

Main entry points: [`frontend/src/lib/api.js`](https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/lib/api.js) (API client), [`frontend/src/App.jsx`](https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/App.jsx) (React app), [`backend/src/main/java/com/localboost/matching/MatchingService.java`](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/matching/MatchingService.java) (Recommendations), [`backend/src/main/java/com/localboost/auth/AuthService.java`](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/auth/AuthService.java) (Authentication service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Web client"]
  node_web["React app<br/>[App.jsx]"]
  node_authpages["Sign-in pages<br/>[AuthPages.jsx]"]
  node_campaignpages["Campaign pages<br/>[CampaignPages.jsx]"]
  node_applicationpages["Application pages"]
  node_dashboardpages["Dashboard pages<br/>[DashboardPages.jsx]"]
  node_profilepage["Profile page<br/>[ProfilePage.jsx]"]
  node_chatpage["Chat page<br/>[ChatPage.jsx]"]
  node_api["API client<br/>[api.js]"]
end

subgraph group_identity["Identity and profiles"]
  node_authcontroller["Authentication API"]
  node_authservice["Authentication service<br/>[AuthService.java]"]
  node_profiles["Profile management"]
  node_profileapi["Profile APIs"]
end

subgraph group_marketplace["Campaign marketplace"]
  node_campaignapi["Campaign API"]
  node_campaignservice["Campaign management"]
  node_applicationapi["Application API"]
  node_applications["Application review"]
  node_matching["Recommendations"]
  node_matchingapi["Matching API"]
  node_dashboard["Role dashboards"]
  node_dashboardapi["Dashboard API"]
end

subgraph group_collaboration["Collaboration tools"]
  node_messageapi["Messaging API"]
  node_messaging["Messaging service"]
end

subgraph group_platform["Platform services"]
  node_jwt["JWT service<br/>[JwtService.java]"]
  node_mongo[("MongoDB")]
  node_websocket["WebSocket broker"]
end

node_people(("Business and influencer"))

node_people -->|"use"| node_web
node_web -->|"routes to"| node_authpages
node_web -->|"routes to"| node_campaignpages
node_web -->|"routes to"| node_applicationpages
node_web -->|"routes to"| node_dashboardpages
node_web -->|"routes to"| node_profilepage
node_web -->|"routes to"| node_chatpage
node_authpages -->|"requests"| node_api
node_campaignpages -->|"requests"| node_api
node_applicationpages -->|"requests"| node_api
node_dashboardpages -->|"requests"| node_api
node_profilepage -->|"requests"| node_api
node_chatpage -->|"requests"| node_api
node_api -->|"HTTP API"| node_authcontroller
node_api -->|"HTTP API"| node_campaignapi
node_api -->|"HTTP API"| node_applicationapi
node_api -->|"HTTP API"| node_profileapi
node_api -->|"HTTP API"| node_dashboardapi
node_api -->|"HTTP API"| node_matchingapi
node_api -->|"HTTP API"| node_messageapi
node_authcontroller -->|"calls"| node_authservice
node_authservice -->|"reads and writes users"| node_mongo
node_authservice -->|"issues token"| node_jwt
node_campaignapi -->|"calls"| node_campaignservice
node_campaignservice -->|"reads and writes campaigns"| node_mongo
node_applicationapi -->|"calls"| node_applications
node_applications -->|"reads and writes applications"| node_mongo
node_applications -->|"scores influencer"| node_matching
node_matchingapi -->|"calls"| node_matching
node_matching -->|"reads profiles and campaigns"| node_mongo
node_profileapi -->|"manages profiles"| node_profiles
node_profiles -->|"reads and writes profiles"| node_mongo
node_dashboardapi -->|"calls"| node_dashboard
node_dashboard -->|"reads dashboard data"| node_mongo
node_dashboard -->|"recommends campaigns"| node_matching
node_messageapi -->|"calls"| node_messaging
node_messaging -->|"reads and writes messages"| node_mongo
node_messaging -->|"publishes messages"| node_websocket

click node_web "https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/App.jsx"
click node_authpages "https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/auth/AuthPages.jsx"
click node_campaignpages "https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/campaigns/CampaignPages.jsx"
click node_applicationpages "https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/applications/ApplicationPages.jsx"
click node_dashboardpages "https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/dashboard/DashboardPages.jsx"
click node_profilepage "https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/profile/ProfilePage.jsx"
click node_chatpage "https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/chat/ChatPage.jsx"
click node_api "https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/lib/api.js"
click node_authcontroller "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/auth/AuthController.java"
click node_authservice "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/auth/AuthService.java"
click node_jwt "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/config/JwtService.java"
click node_profiles "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/profile/ProfileService.java"
click node_profileapi "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/profile/BusinessProfileController.java"
click node_campaignapi "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/campaign/CampaignController.java"
click node_campaignservice "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/campaign/CampaignService.java"
click node_applicationapi "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/application/ApplicationController.java"
click node_applications "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/application/ApplicationService.java"
click node_matching "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/matching/MatchingService.java"
click node_matchingapi "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/matching/MatchingController.java"
click node_dashboard "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/dashboard/DashboardService.java"
click node_dashboardapi "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/dashboard/DashboardController.java"
click node_messageapi "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/chat/MessageController.java"
click node_messaging "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/chat/MessagingService.java"
click node_websocket "https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/chat/WebSocketConfig.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_web,node_authpages,node_campaignpages,node_applicationpages,node_dashboardpages,node_profilepage,node_chatpage,node_api toneBlue
class node_authcontroller,node_authservice,node_profiles,node_profileapi toneAmber
class node_campaignapi,node_campaignservice,node_applicationapi,node_applications,node_matching,node_matchingapi,node_dashboard,node_dashboardapi toneMint
class node_messageapi,node_messaging toneRose
class node_jwt,node_mongo,node_websocket,node_people toneIndigo
```

## Components

### Web client

- [React app](https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Sign-in pages](https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/auth/AuthPages.jsx): `frontend/src/auth/AuthPages.jsx`
- [Campaign pages](https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/campaigns/CampaignPages.jsx): `frontend/src/campaigns/CampaignPages.jsx`
- [Application pages](https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/applications/ApplicationPages.jsx): `frontend/src/applications/ApplicationPages.jsx`
- [Dashboard pages](https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/dashboard/DashboardPages.jsx): `frontend/src/dashboard/DashboardPages.jsx`
- [Profile page](https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/profile/ProfilePage.jsx): `frontend/src/profile/ProfilePage.jsx`
- [Chat page](https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/chat/ChatPage.jsx): `frontend/src/chat/ChatPage.jsx`
- [API client](https://github.com/hibler00008/localboost-platform-sb/blob/main/frontend/src/lib/api.js): `frontend/src/lib/api.js`

### Identity and profiles

- [Authentication API](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/auth/AuthController.java): `backend/src/main/java/com/localboost/auth/AuthController.java`
- [Authentication service](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/auth/AuthService.java): `backend/src/main/java/com/localboost/auth/AuthService.java`
- [Profile management](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/profile/ProfileService.java): `backend/src/main/java/com/localboost/profile/ProfileService.java`
- [Profile APIs](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/profile/BusinessProfileController.java): `backend/src/main/java/com/localboost/profile/BusinessProfileController.java`

### Campaign marketplace

- [Campaign API](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/campaign/CampaignController.java): `backend/src/main/java/com/localboost/campaign/CampaignController.java`
- [Campaign management](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/campaign/CampaignService.java): `backend/src/main/java/com/localboost/campaign/CampaignService.java`
- [Application API](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/application/ApplicationController.java): `backend/src/main/java/com/localboost/application/ApplicationController.java`
- [Application review](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/application/ApplicationService.java): `backend/src/main/java/com/localboost/application/ApplicationService.java`
- [Recommendations](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/matching/MatchingService.java): `backend/src/main/java/com/localboost/matching/MatchingService.java`
- [Matching API](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/matching/MatchingController.java): `backend/src/main/java/com/localboost/matching/MatchingController.java`
- [Role dashboards](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/dashboard/DashboardService.java): `backend/src/main/java/com/localboost/dashboard/DashboardService.java`
- [Dashboard API](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/dashboard/DashboardController.java): `backend/src/main/java/com/localboost/dashboard/DashboardController.java`

### Collaboration tools

- [Messaging API](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/chat/MessageController.java): `backend/src/main/java/com/localboost/chat/MessageController.java`
- [Messaging service](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/chat/MessagingService.java): `backend/src/main/java/com/localboost/chat/MessagingService.java`

### Platform services

- [JWT service](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/config/JwtService.java): `backend/src/main/java/com/localboost/config/JwtService.java`
- **MongoDB**
- [WebSocket broker](https://github.com/hibler00008/localboost-platform-sb/blob/main/backend/src/main/java/com/localboost/chat/WebSocketConfig.java): `backend/src/main/java/com/localboost/chat/WebSocketConfig.java`

### Other components

- **Business and influencer**

## Connections

- Business and influencer → React app: use
- React app → Sign-in pages: routes to
- React app → Campaign pages: routes to
- React app → Application pages: routes to
- React app → Dashboard pages: routes to
- React app → Profile page: routes to
- React app → Chat page: routes to
- Sign-in pages → API client: requests
- Campaign pages → API client: requests
- Application pages → API client: requests
- Dashboard pages → API client: requests
- Profile page → API client: requests
- Chat page → API client: requests
- API client → Authentication API: HTTP API
- API client → Campaign API: HTTP API
- API client → Application API: HTTP API
- API client → Profile APIs: HTTP API
- API client → Dashboard API: HTTP API
- API client → Matching API: HTTP API
- API client → Messaging API: HTTP API
- Authentication API → Authentication service: calls
- Authentication service → MongoDB: reads and writes users
- Authentication service → JWT service: issues token
- Campaign API → Campaign management: calls
- Campaign management → MongoDB: reads and writes campaigns
- Application API → Application review: calls
- Application review → MongoDB: reads and writes applications
- Application review → Recommendations: scores influencer
- Matching API → Recommendations: calls
- Recommendations → MongoDB: reads profiles and campaigns
- Profile APIs → Profile management: manages profiles
- Profile management → MongoDB: reads and writes profiles
- Dashboard API → Role dashboards: calls
- Role dashboards → MongoDB: reads dashboard data
- Role dashboards → Recommendations: recommends campaigns
- Messaging API → Messaging service: calls
- Messaging service → MongoDB: reads and writes messages
- Messaging service → WebSocket broker: publishes messages
