Skip to content

Commit bbcfe44

Browse files
committed
chore: update readme
1 parent d27a9cb commit bbcfe44

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

README.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Gatherloop Pos
1+
# Gatherloop POS (Pint Of Sale)
22

33
## 1. Overview
44

@@ -10,6 +10,8 @@ Automated Calculations: Automatically calculate costs and profits for each trans
1010
Financial Management: Streamline operations by automating budget allocations for operational expenses, food costs, and profits.
1111
This POS system aims to provide a comprehensive solution for managing business operations more efficiently, reducing manual work and improving financial transparency.
1212

13+
![screenshot of gatherloop POS](https://i.ibb.co.com/5KQJmMz/Screenshot-2024-11-28-at-14-39-36.png)
14+
1315
## 2. Features
1416

1517
### 2.1. Category Management
@@ -40,22 +42,32 @@ The Budget Tracking feature helps monitor spending limits for various categories
4042

4143
### 3.1. Golang
4244

45+
https://go.dev
46+
4347
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.
4448

4549
### 3.2. React
4650

51+
https://react.dev
52+
4753
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.
4854

4955
### 3.3. React Native
5056

57+
https://reactnative.dev
58+
5159
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.
5260

5361
### 3.4. Tamagui
5462

63+
https://tamagui.dev
64+
5565
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.
5666

5767
### 3.5. Open API
5868

69+
https://www.openapis.org
70+
5971
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.
6072

6173
## 4. Projects
@@ -192,6 +204,8 @@ This POS system is built using Clean Architecture principles for both the backen
192204

193205
### 5.1. Backend
194206

207+
![clean architecture backend](/docs/clean%20architecture%20be.png)
208+
195209
#### A. Domain Layer
196210

197211
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
206220

207221
### 5.2. Frontend
208222

223+
![clean architecture frontend](/docs/clean%20architecture%20fe.png)
224+
209225
#### A. Domain Layer
210226

211227
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.

docs/clean architecture be.png

22.6 MB
Loading

docs/clean architecture fe.png

22.5 MB
Loading

0 commit comments

Comments
 (0)