How devlib-itsw/getapi works
GetAPI is a Spring Boot API marketplace. A provider registers an API; users discover it in the library, authenticate proxy calls, and spend points as requests are forwarded to the provider’s original API. Supporting flows include account authentication, AI moderation, payments, and community features. The README documents the end-to-end proxy behavior; source excerpts and the SOURCE INDEX support selected service-level calls. Several major controllers and integrations are represented from README descriptions and tree paths, not inspected source.
Main entry points: AiCensorAsyncService.java Async Moderation · UserService.java User Accounts · ProxyController.java API Proxy · ApiService.java API Management
Components 22
API Marketplace
- API Management
src/main/java/com/getapi/api/service/ApiService.java - API Records
src/main/java/com/getapi/api/domain/Api.java - API Library
src/main/java/com/getapi/library/service/LibraryService.java
Identity & Accounts
- OAuth & JWT
src/main/java/com/getapi/auth/service/CustomOAuth2UserService.java - SMS Verification
src/main/java/com/getapi/auth/service/SmsAuthService.java - User Accounts
src/main/java/com/getapi/user/service/UserService.java - User Data
src/main/java/com/getapi/user/repository/UserRepository.java - User Profiles
src/main/java/com/getapi/user/repository/UserProfileRepository.java
Proxy & Payments
- API Proxy
src/main/java/com/getapi/proxy/ProxyController.java - Call Logs
src/main/java/com/getapi/proxy/service/CallLogService.java - Point Payments
src/main/java/com/getapi/payments/service/PaymentsService.java
Community
- Posts & Tags
src/main/java/com/getapi/post/service/PostService.java - Post Likes
src/main/java/com/getapi/post/service/LikeService.java - Comments
src/main/java/com/getapi/comment/service/PostCommentService.java
Moderation & Admin
- Async Moderation
src/main/java/com/getapi/ai/service/AiCensorAsyncService.java - AI Filter Client
src/main/java/com/getapi/ai/service/AiFilterService.java - Admin Review
src/main/java/com/getapi/admin/controller/AdminController.java
Other components
- API Provider
- API Consumer
- Provider API
- Toss Payments
- AI Moderation Server
Connections 30
- API Provider → API Management: registers APIs
- API Management → API Records: stores APIs
src/main/java/com/getapi/api/service/ApiService.java - API Management → Async Moderation: requests checks
src/main/java/com/getapi/api/service/ApiService.java - API Consumer → API Library: browses APIs
- API Library → API Records: searches listings
src/main/java/com/getapi/library/service/LibraryService.java - API Consumer → OAuth & JWT: signs in
- API Consumer → SMS Verification: verifies phone
- OAuth & JWT → User Accounts: resolves account
src/main/java/com/getapi/auth/service/CustomOAuth2UserService.java - SMS Verification → User Accounts: uses account
src/main/java/com/getapi/auth/service/SmsAuthService.java - User Accounts → User Data: reads/writes users
src/main/java/com/getapi/user/service/UserService.java - User Accounts → User Profiles: reads/writes profiles
src/main/java/com/getapi/user/service/UserService.java - API Consumer → API Proxy: calls API
- API Proxy → Provider API: forwards request
- API Proxy → Point Payments: deducts points
- API Proxy → Call Logs: records call
src/main/java/com/getapi/proxy/ProxyController.java - API Consumer → Point Payments: adds points
- Point Payments → Toss Payments: confirms payment
- Point Payments → User Data: updates points
src/main/java/com/getapi/payments/service/PaymentsService.java - API Provider → Posts & Tags: publishes posts
- Posts & Tags → Async Moderation: requests checks
src/main/java/com/getapi/post/service/PostService.java - API Consumer → Comments: comments
- Comments → Async Moderation: requests checks
src/main/java/com/getapi/comment/service/PostCommentService.java - API Consumer → Post Likes: likes posts
- Async Moderation → AI Filter Client: checks content
src/main/java/com/getapi/ai/service/AiCensorAsyncService.java - AI Filter Client → AI Moderation Server: sends text
- Async Moderation → API Records: updates censor status
src/main/java/com/getapi/ai/service/AiCensorAsyncService.java - Async Moderation → User Profiles: updates censor status
src/main/java/com/getapi/ai/service/AiCensorAsyncService.java - Admin Review → API Management: manages APIs
src/main/java/com/getapi/admin/controller/AdminController.java - Admin Review → User Accounts: manages users
src/main/java/com/getapi/admin/controller/AdminController.java - Admin Review → Async Moderation: reviews censored content