How sswegy/votproekt works
VOTProekt is a Reddit-like mobile app with a backend, Keycloak authentication, and MySQL storage behind a load balancer. The main documented workflow is signing in, browsing and publishing posts, with profile access through the app’s main tabs. Sampled code confirms login and the backend post endpoints; registration currently returns 501. Home, post-entry, profile, and database-pool internals were not sampled, so their wiring is left unspecified where it cannot be verified.
Main entry points: App.js Navigation · MainScreen.js Main tabs · App.mjs HTTP server · LoginScreen.js Login screen
Components 17
Mobile app
- Navigation
frontend/App.js - Login screen
frontend/screens/LoginScreen.js - Register screen
frontend/screens/RegisterScreen.js - Main tabs
frontend/screens/MainScreen.js - Post feed
frontend/screens/HomeScreen.js - New post
frontend/screens/NewPostScreen.js - Profile
frontend/screens/ProfileScreen.js
Backend API
- HTTP server
backend/src/App.mjs - Auth routes
backend/src/routers/AuthRouter.mjs - Post routes
backend/src/routers/PostsRouter.mjs - Post operations
backend/src/controllers/PostsController.mjs
Identity
- Keycloak
keycloak/realm-export.json - Identity config
backend/src/KeycloakConfig.js
Database
- DB connection
backend/src/controllers/DBConnector.mjs - SQL load balancer
database/proxysql.cnf - MySQL cluster
database/source-my.cnf
Other components
- App user
Connections 17
- App user → Navigation: uses
- Navigation → Login screen: shows
- Navigation → Register screen: shows
- Navigation → Main tabs: navigates
- Main tabs → Post feed: shows
- Main tabs → Profile: shows
- Main tabs → New post: opens
- Login screen → HTTP server: login request
- Register screen → HTTP server: register request
- HTTP server → Auth routes: dispatches
- HTTP server → Post routes: dispatches
- Auth routes → Keycloak: obtains grant
- Identity config → Keycloak: configures
- Post routes → Post operations: calls
- Post operations → DB connection: queries
- DB connection → SQL load balancer: SQL connection
- SQL load balancer → MySQL cluster: routes queries