A containerised, API-first authentication framework that small businesses can attach to existing (including legacy) systems without rebuilding their codebase. Managed and monitored via a mobile app.
Final year capstone project (Eduvos).
Small businesses often run web applications with weak or poorly implemented authentication, but lack the budget or expertise to build secure auth systems in-house. Existing solutions are either too complex, too costly, or not designed for small-scale, resource-constrained environments.
Latchpoint is a standalone authentication service that businesses attach to their existing system rather than build themselves. Legacy systems integrate via a REST API, so the framework works regardless of what language the business's existing application is written in. The whole thing ships as Docker containers for consistent, dependency-free deployment on the business's own server, and is monitored/configured remotely via a mobile app.
Two problems, two solutions — not one:
- Cross-language integration → solved by exposing a REST API (any language can make an HTTP call)
- Consistent, dependency-free deployment → solved by Docker
flowchart LR
A["Legacy System<br/>(any language)"] -- REST --> B["Adapter Layer<br/>(translates legacy calls)"]
B -- REST --> C["Auth Core<br/>(auth logic, MFA, sessions)"]
C -- Management API --> D["Mobile App<br/>(React Native)"]
auth-core— the authentication service. Handles credential verification, MFA, session management, and password policy enforcement. Exposes a REST API.adapter-layer— sits in front of Auth Core for legacy systems that can't make REST calls natively; translates their requests into calls Auth Core understands.mobile-app— talks only to the Management API (part of Auth Core's REST API). Lets a business owner monitor auth events and configure settings (MFA, password policy, session timeout) remotely.docker-compose.yml— spins upauth-coreandadapter-layertogether for local development or deployment on a business's own server.
| Component | Tech |
|---|---|
| Auth Core / API | Java, Spring Boot, Spring Security |
| Database | MySQL |
| MFA | TOTP library (e.g. java-totp / Google Authenticator-compatible) |
| Adapter Layer | Java (Spring Boot) |
| Mobile App | React Native |
| Deployment | Docker, Docker Compose |
Self-hosted: each business runs their own container(s) on their own server, alongside their existing system. Latchpoint is positioned as a SaaS-style product (buy it, attach it, done) but is not a multi-tenant cloud service — no shared infrastructure or cross-business data.
Requires Git, Docker and Docker Compose.
git clone https://github.com/JeffyJ080/latchpoint.git
cd latchpoint
cp .env.example .envOn Windows PowerShell, use Copy-Item .env.example .env instead of cp.
Review .env, then start the backend and demonstration application:
docker compose up -d --build
docker compose psThe stack contains MySQL, Auth Core, Adapter Layer and the demonstration legacy application.
Default addresses:
- Auth Core health: http://localhost:8080/actuator/health
- Adapter health: http://localhost:8081/actuator/health
- Legacy application: http://localhost:8082
Use the host ports configured in .env. For example,
AUTH_CORE_PORT=8085 makes Auth Core available at
http://localhost:8085 while its container continues using port 8080.
Development accounts created on a fresh database:
| Username | Password | Role |
|---|---|---|
| admin | Admin123! | ADMIN |
| demo_user | UserPassword123! | END_USER |
These accounts are for local demonstration. Neither has MFA enrolled initially. SQL initialization runs only when the database volume is first created.
See Development Setup and API Contract for configuration and endpoint details.
latchpoint/
├── auth-core/ # Java/Spring Boot authentication service (REST API)
├── adapter-layer/ # Translates legacy system calls into REST requests
├── mobile-app/ # React Native app for monitoring & configuration
├── docker-compose.yml # Local/self-hosted deployment
├── docs/ # Architecture notes, research documentation
├── LICENSE
└── README.md
This project supports research into secure authentication for small business web applications, including:
- Common authentication vulnerabilities and how they expose data to risk
- Comparison of modern vs. traditional authentication techniques
- Effective prevention methods for authentication-related attacks
- Practical, cost-effective implementation of a secure authentication framework for small businesses, including integration with legacy systems
- Evaluation of implemented security measures against real-world attacks
- Neo Brian Bampoe
- Christiaan Coetzee
- Boikanyo Setati
MIT — see LICENSE.