This commit establishes the foundational structure for the Karyaman project, focusing on the camping equipment rental web application. Key additions include: - Scaffolding for three React applications: `adventure-rental-app`, `motel-app`, and `pakrete-app` using Create React App. - Initial implementation of `HomePage` and `CategoriesPage` components for the `adventure-rental-app`, based on provided design mockups. - Project documentation including PRDs and design files for the applications. - Configuration of the Kilo Code memory bank with core project details such as architecture, product vision, and tech stack.
2.5 KiB
2.5 KiB
Architecture: Webapp Rental Peralatan Camping
System Architecture
The system will follow a client-server architecture with a clear separation between the frontend and backend.
graph TD
A[User/Renter] -->|Accesses| B(Frontend React.js)
B -->|API Calls| C(Backend n8n)
C -->|Database Queries| D[PostgreSQL Database]
E[Admin/Business Owner] -->|Manages| F(Admin Dashboard React.js)
F -->|API Calls| C
C -->|Webhooks/Triggers| G[Payment Gateway]
C -->|Triggers| H[Email Service Provider]
Source Code Paths
- Frontend (React.js):
src/frontend/(to be created) - Backend (n8n workflows):
src/backend/n8n/(to be created) - Database (PostgreSQL schema/migrations):
src/backend/database/(to be created)
Key Technical Decisions
- Frontend Framework: React.js for a dynamic and interactive user interface.
- Backend Orchestration: n8n for workflow automation, API endpoint creation, and integration with external services (payment gateways, email). This allows for rapid development and flexible workflow management.
- Database: PostgreSQL for robust and scalable data storage, supporting complex queries and relationships.
- Real-time Availability: Calendar integration on the frontend will pull real-time availability data from PostgreSQL via n8n APIs.
- Payment Processing: Integration with local payment gateways via n8n webhooks for secure transactions.
Design Patterns in Use
- MVC/MVVM (Conceptual): While n8n handles much of the backend logic, the React frontend will conceptually follow an MVVM pattern for UI separation.
- API-driven Development: Frontend and backend communicate exclusively via RESTful APIs exposed by n8n.
- Event-driven Architecture (for integrations): n8n's workflow capabilities enable event-driven interactions with payment gateways and email services.
Component Relationships
- Frontend & Backend: The React.js frontend consumes APIs provided by the n8n backend.
- Backend & Database: n8n interacts directly with the PostgreSQL database for all data persistence.
- Backend & External Services: n8n acts as an intermediary for payment gateways and email services.
Critical Implementation Paths
- Booking Process: Ensuring seamless date selection, cart management, and secure payment integration.
- Inventory Management: Real-time stock updates and calendar synchronization are crucial.
- Order Status Updates: Manual status changes by admins must correctly trigger availability updates.