You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+17-1Lines changed: 17 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Gatherloop Pos
1
+
# Gatherloop POS (Pint Of Sale)
2
2
3
3
## 1. Overview
4
4
@@ -10,6 +10,8 @@ Automated Calculations: Automatically calculate costs and profits for each trans
10
10
Financial Management: Streamline operations by automating budget allocations for operational expenses, food costs, and profits.
11
11
This POS system aims to provide a comprehensive solution for managing business operations more efficiently, reducing manual work and improving financial transparency.
12
12
13
+

14
+
13
15
## 2. Features
14
16
15
17
### 2.1. Category Management
@@ -40,22 +42,32 @@ The Budget Tracking feature helps monitor spending limits for various categories
40
42
41
43
### 3.1. Golang
42
44
45
+
https://go.dev
46
+
43
47
Go (Golang) is used for building the backend services of the POS system. Its efficiency in handling concurrent processes ensures high performance, making it ideal for managing tasks like transaction processing, budget tracking, and real-time financial calculations. Go’s simplicity and speed contribute to the system's scalability and reliability.
44
48
45
49
### 3.2. React
46
50
51
+
https://react.dev
52
+
47
53
React is used for building the web interface of the POS system, providing a dynamic and responsive user experience. Its component-based architecture allows for efficient rendering and seamless updates, making tasks like product management, transaction handling, and expense tracking intuitive and easy to navigate.
48
54
49
55
### 3.3. React Native
50
56
57
+
https://reactnative.dev
58
+
51
59
React Native powers the mobile version of the POS system, enabling a consistent user experience across both iOS and Android platforms. With its reusable components and native performance, React Native ensures smooth navigation and real-time updates, allowing users to manage transactions, products, and expenses on the go.
52
60
53
61
### 3.4. Tamagui
54
62
63
+
https://tamagui.dev
64
+
55
65
Tamagui is used for building a cross-platform UI in the POS system, allowing for consistent design and performance across web and mobile. It simplifies the development process by sharing components between platforms, ensuring a cohesive look and feel while maintaining speed and responsiveness.
56
66
57
67
### 3.5. Open API
58
68
69
+
https://www.openapis.org
70
+
59
71
OpenAPI is used to define and document the POS system’s API, ensuring clear communication between the backend and frontend. It standardizes API endpoints, making integration more efficient and scalable while providing an easy-to-understand interface for developers to interact with the system’s features, such as transactions, product management, and budgeting.
60
72
61
73
## 4. Projects
@@ -192,6 +204,8 @@ This POS system is built using Clean Architecture principles for both the backen
The Domain Layer is the core of the backend's Clean Architecture, housing entities that define the internal data structures used in business logic. These entities are utilized in use cases that implement the specific business rules, ensuring that the logic remains independent of the data layer (e.g., databases) and presentation layer (e.g., REST APIs). This design allows for communication through well-defined interfaces, enabling separation of concerns and making it easy to adapt or replace layers. Additionally, this separation facilitates testing, allowing use cases and entities to be validated in isolation without relying on external systems, enhancing overall maintainability and scalability.
@@ -206,6 +220,8 @@ The Presentation Layer consumes the use cases and maps the internal data structu
The Domain Layer in the frontend contains entities that define the internal data structures used in the business logic. It also includes use cases that implement the business logic, utilizing a finite state machine to map the current state to the next state based on received actions or events. Importantly, the use cases do not concern themselves with the data source, whether it comes from an API or mock data; they only recognize the interfaces. Additionally, this layer is agnostic to the frontend framework, ensuring that no framework-specific code (e.g., React) is present. Instead, the business logic is written purely in TypeScript, focusing on the finite state machine's functionality.
0 commit comments