How douglasteyh/vuejs-clickfarmafront works
ClickFarma is an online pharmacy marketplace with a Vue storefront and Spring backend. Customers browse products, manage a cart, check out, pay, and track orders; the platform also supports prescriptions, AI assistance, and separate administrative, pharmacy, and courier operations. The README documents the broad capabilities and MySQL stack; sampled backend code confirms the order, product, authentication, and prescription-processing layers. Several listed subsystems were not sampled, so their internal call paths are not asserted.
Main entry points: api.js API Client · main.js Vue App · views Storefront Views · AuthController.java Authentication API
Components 26
Customer Storefront
- Vue App
frontend/src/main.js - Storefront Views
frontend/src/views - Cart & Checkout
frontend/src/components/checkout - Order Tracking UI
frontend/src/components/orders - Client State
frontend/src/store/index.js - API Client
frontend/src/services/api.js
Commerce Backend
- Authentication API
backend/src/main/java/com/clickfarma/backend/controller/AuthController.java - Catalog API
backend/src/main/java/com/clickfarma/backend/controller/ProdutoController.java - Product Service
backend/src/main/java/com/clickfarma/backend/service/ProdutoService.java - Product Data
backend/src/main/java/com/clickfarma/backend/repository/ProdutoRepository.java - Orders API
backend/src/main/java/com/clickfarma/backend/controller/PedidoController.java - Order Service
backend/src/main/java/com/clickfarma/backend/service/PedidoService.java - Payment Service
backend/src/main/java/com/clickfarma/backend/service/PagamentoService.java - Order Data
backend/src/main/java/com/clickfarma/backend/repository/PedidoRepository.java - Prescription API
backend/src/main/java/com/clickfarma/backend/controller/ReceitaController.java - Prescription Processing
backend/src/main/java/com/clickfarma/backend/service/GroqProcessadorReceitaService.java
Marketplace Operations
- Admin Dashboard
frontend/src/views/admin/AdminDashboard.vue - Pharmacy Portal
frontend/src/views/pharmacy/PharmacyDashboard.vue - Courier Portal
frontend/src/views/courier/CourierDashboard.vue - Dashboard Service
backend/src/main/java/com/clickfarma/backend/service/DashboardService.java
Platform Services
- JWT Security
backend/src/main/java/com/clickfarma/backend/security/SecurityConfig.java - User Data
backend/src/main/java/com/clickfarma/backend/repository/UsuarioRepository.java - Image Storage
backend/src/main/java/com/clickfarma/backend/service/FileStorageService.java
Other components
- Customer
- MySQL
- AI Provider
Connections 30
- Customer → Vue App: uses
README.md - Vue App → Storefront Views: mounts
frontend/src/main.js - Vue App → Client State: installs
frontend/src/main.js - Storefront Views → Cart & Checkout: includes
- Storefront Views → Order Tracking UI: includes
- Client State → API Client: calls
frontend/src/store/index.js - Vue App → API Client: configures
frontend/src/main.js - API Client → Authentication API: requests
- API Client → Catalog API: requests
- API Client → Orders API: requests
- API Client → Prescription API: requests
- Authentication API → User Data: reads and writes
backend/src/main/java/com/clickfarma/backend/controller/AuthController.java - Authentication API → JWT Security: authenticates with
backend/src/main/java/com/clickfarma/backend/controller/AuthController.java - Catalog API → Product Service: delegates to
backend/src/main/java/com/clickfarma/backend/controller/ProdutoController.java - Product Service → Product Data: uses
- Product Service → Image Storage: stores images via
backend/src/main/java/com/clickfarma/backend/controller/ProdutoController.java - Orders API → Order Service: delegates to
backend/src/main/java/com/clickfarma/backend/controller/PedidoController.java - Orders API → Payment Service: uses
backend/src/main/java/com/clickfarma/backend/controller/PedidoController.java - Order Service → Order Data: reads and writes
backend/src/main/java/com/clickfarma/backend/service/PedidoService.java - Order Service → Payment Service: creates payment
backend/src/main/java/com/clickfarma/backend/service/PedidoService.java - Prescription API → Prescription Processing: processes with
backend/src/main/java/com/clickfarma/backend/controller/ReceitaController.java - Prescription Processing → Product Data: matches medicines
backend/src/main/java/com/clickfarma/backend/service/GroqProcessadorReceitaService.java - Admin Dashboard → Dashboard Service: loads metrics
- Pharmacy Portal → API Client: uses
- Courier Portal → API Client: uses
- Dashboard Service → MySQL: queries
- Product Data → MySQL: persists products
- Order Data → MySQL: persists orders
- User Data → MySQL: persists users
- Prescription Processing → AI Provider: uses