Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wralith/aestimatio
Productivity System!
https://github.com/wralith/aestimatio
ddd go grpc microservices-architecture react
Last synced: 11 days ago
JSON representation
Productivity System!
- Host: GitHub
- URL: https://github.com/wralith/aestimatio
- Owner: wralith
- License: mit
- Created: 2022-11-10T20:09:54.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-15T18:24:23.000Z (about 2 years ago)
- Last Synced: 2024-11-03T23:03:08.543Z (about 2 months ago)
- Topics: ddd, go, grpc, microservices-architecture, react
- Language: Go
- Homepage:
- Size: 151 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Aestimatio
Aestimatio is a productivity app!
## Setup
This section will be updated after i wrote dockerfiles and implement docker-compose.
For now:```sh
# Start Frontend
cd client/web
pnpm dev
# Start Services
cd server/{service}
go run cmd/main.go
```REST docs would be at `http:localhost:8080/docs`
## Techs
### Server Side
- Three services written in `go`.
- I tried to apply `DDD` and hexagonal architecture in services.
- `protobuf` and `gRPC` based communication between services, REST api-gateway to communicate with outside.
- Separate auth service deals with authentication and passes credentials to other services via api-gateway.
- Api-gateway implemented with `Echo`.
- Nearly all of the business logic have unit tests.
- I followed `repository` pattern, any database will be introduced as an adaptor easily.
- Docs for REST api created with [swaggo/swag](https://github.com/swaggo/swag) and [rapidoc](https://github.com/rapi-doc/RapiDoc).### Client Side
- React...
- React Query because of utils it brings such as caching, and getting state of the mutation, query etc.
- [Mantine](https://github.com/mantinedev/mantine) as a component library because it looks cool...
- [Zustand](https://github.com/pmndrs/zustand) for global state management (i.e. auth).## Todos
- Error Messages are awful, need to be fixed
- Calendar
- Daily Tasks## Far far away Todos
- Social media like groups, tasks with multiple users, share achievement, share statistics, chat etc.