How zwiqler94/username-generator works
The product is a Firebase-backed username-generation service. Clients obtain an App Check token through either the callable helper or authenticated HTTP token route, then submit words and optional specials to the HTTP API; the API validates and guards the request, looks up thesaurus terms, filters and combines words, and returns unique usernames. The controller, routing, and middleware are distinct internal layers. Relationships shown are supported by the excerpts or README; unsampled implementation details are not expanded.
Main entry points: usernames.controller.ts Username Generator · server.ts Express Routes · auth.middleware.ts Token HTTP Route · general.middleware.ts API Middleware
Components 15
HTTP API
- HTTP API Functions
functions/src/index.ts - Express Routes
functions/src/server.ts - Request Validator
functions/src/validators/username-req.validator.ts
Username Generation
- Username Generator
functions/src/controllers/usernames.controller.ts - Profanity Terms
functions/src/constants/bad-words.ts - Fallback Words
functions/src/constants/default-words.ts - Thesaurus Model
functions/src/models/thesaurus.model.ts
Token and Security
- API Middleware
functions/src/middleware/general.middleware.ts - Token HTTP Route
functions/src/middleware/auth.middleware.ts - Auth Validator
functions/src/validators/auth.validator.ts
Callable Token Helper
- Callable Token Function
username-generator/src/index.ts
Other components
- Client
- Merriam-Webster Thesaurus
- Firebase Auth
- Firebase App Check
Connections 20
- Client → HTTP API Functions: calls API
README.md - HTTP API Functions → Express Routes: serves app
functions/src/index.ts - Express Routes → API Middleware: sets up
functions/src/server.ts - Express Routes → Token HTTP Route: mounts routes
functions/src/server.ts - Express Routes → Request Validator: validates request
functions/src/server.ts - Express Routes → Username Generator: routes to
functions/src/server.ts - API Middleware → Firebase App Check: verifies token
functions/src/middleware/general.middleware.ts - Username Generator → Profanity Terms: filters terms
functions/src/controllers/usernames.controller.ts - Username Generator → Fallback Words: uses fallback
functions/src/controllers/usernames.controller.ts - Username Generator → Thesaurus Model: checks results
functions/src/controllers/usernames.controller.ts - Username Generator → Merriam-Webster Thesaurus: looks up terms
functions/src/controllers/usernames.controller.ts - Username Generator → Client: returns usernames
README.md - Token HTTP Route → Auth Validator: validates token
functions/src/middleware/auth.middleware.ts - Token HTTP Route → API Middleware: checks identity
functions/src/middleware/auth.middleware.ts - API Middleware → Firebase Auth: verifies ID token
functions/src/middleware/general.middleware.ts - Token HTTP Route → Firebase App Check: creates token
functions/src/middleware/auth.middleware.ts - Client → Token HTTP Route: requests token
README.md - Client → Callable Token Function: invokes callable
README.md - Callable Token Function → Firebase App Check: creates token
username-generator/src/index.ts - Callable Token Function → Client: returns token
README.md