How marensovich/pinterestpingenerator works
PinterestPinGenerator is a web-managed pin-generation product: users manage a clothing catalog and request outfit-based pin images. The Java API owns outfit selection and render orchestration; a Python service lays out and renders scenes, then stores and serves image files. The UI also exposes dashboard, pin-history, and hashtag areas. README describes Pinterest publication, but the sampled source does not establish its runtime integration, so it is not connected here. Unsampled subsystem links are included only where the documented architecture supports them.
Main entry points: App.jsx Web application · PinterestCoreApplication.java Spring API · service.py Scene preparation · main.py Render service API
Components 22
Web interface
- Web application
pinterest-site/src/App.jsx - Item catalog
pinterest-site/src/pages/Catalog/Table.jsx - Dashboard
pinterest-site/src/pages/Dashboard/Dashboard.jsx - Pin history
pinterest-site/src/pages/PinsHistory/PinsHistory.jsx - Hashtags
pinterest-site/src/pages/HashTag/HashTag.jsx - API client
pinterest-site/src/services/api.js
Java API
- Spring API
pinterest-core/src/main/java/me/marensovich/pinterestcore/PinterestCoreApplication.java - Authentication
pinterest-core/src/main/java/me/marensovich/pinterestcore/controller/AuthController.java - Item endpoints
pinterest-core/src/main/java/me/marensovich/pinterestcore/controller/ItemController.java - Item service
pinterest-core/src/main/java/me/marensovich/pinterestcore/service/ItemService.java - Item records
pinterest-core/src/main/java/me/marensovich/pinterestcore/db/repository/ItemRepository.java - User records
pinterest-core/src/main/java/me/marensovich/pinterestcore/db/repository/UserRepository.java - Render endpoints
pinterest-core/src/main/java/me/marensovich/pinterestcore/controller/RenderController.java - Outfit selection
pinterest-core/src/main/java/me/marensovich/pinterestcore/service/OutfitService.java - Render adapter
pinterest-core/src/main/java/me/marensovich/pinterestcore/service/OutfitGenerationService.java - Generation history
pinterest-core/src/main/java/me/marensovich/pinterestcore/db/repository/GenerationLogRepository.java
Image rendering
- Render service API
pinterest-imagegenerator/app/main.py - Scene preparation
pinterest-imagegenerator/app/renderer/service.py - Scene layout
pinterest-imagegenerator/app/renderer/layout_engine.py - Image renderer
pinterest-imagegenerator/app/renderer/renderer.py - File storage
pinterest-imagegenerator/app/storage/repository.py
Other components
- Operator
Connections 23
- Operator → Web application: uses
- Web application → Item catalog: routes to
- Web application → Dashboard: routes to
- Web application → Pin history: routes to
- Web application → Hashtags: routes to
- Web application → API client: requests via
- API client → Spring API: calls API
- Spring API → Authentication: dispatches
- Spring API → Item endpoints: dispatches
- Spring API → Render endpoints: dispatches
- Authentication → User records: persists users
- Item endpoints → Item service: calls
- Item service → Item records: reads/writes
- Item service → Render service API: uploads images
- Render endpoints → Outfit selection: generates outfits
- Render endpoints → Render adapter: requests renders
- Outfit selection → Generation history: reads/writes
- Render adapter → Render service API: sends scene
- Render service API → Scene preparation: renders scene
- Scene preparation → Scene layout: arranges entities
- Scene preparation → Image renderer: renders output
- Scene preparation → File storage: saves output
- Render service API → File storage: serves and manages files