Files
simrsx-be/README.md

56 lines
2.0 KiB
Markdown

# RSSA SIMRS-VX BACKEND
Or in english Hospital Information Management System (HIMS), is a system that
manages the information of the hospitals and the patients.
## Stacks
- Language : Golang<br />
Link: https://go.dev
- Framework : No Framework<br />
Why? Go (Golang) applications often do not require full-fledged frameworks
due to several key aspects of the language and its ecosystem:
- Comprehensive Standard Library: Go's standard library is exceptionally
robust and provides much of the functionality that would typically be found
in frameworks in other languages.
- Simplicity and Explicit Design: Go emphasizes simplicity and clarity.
Frameworks often introduce a degree of "magic" or hidden complexity
through inversion of control, where the framework dictates the
application's flow
- Modular Libraries: Instead of a single, all-encompassing framework, the Go
community favors small, modular libraries that perform specific tasks well.
- Performance and Efficiency: Go is designed for performance and efficiency.
Frameworks can sometimes introduce performance overhead due to their layers
of abstraction.
So? No framewok is the best framework.
- Database : PostgreSQL<br />
Link: https://www.postgresql.org
- Cache : Redis<br />
Link: https://redis.io
- File Server : Minio<br />
Link: https://www.min.io
## Libraries
- Routing Helper: Apem<br />
Link: https://github.com/karincake/apem
- ORM: GORM<br />
Link: https://gorm.io
- Database Migration: Atlas<br />
Link: https://atlasgo.io/guides/orms/gorm/program
## Others
- Project Layout: Golang Standards Project Layout<br />
Link: https://github.com/golang-standards/project-layout
- Architecture: Clean Architecture<br />
Link: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
## Commands
- Main api:
- go to the ./cmd/main-api
- run `go run .` to run in debug mode
- run `go build` to build the binary
- Main migration:
- go to the ./cmd/main-migration
- run `go run .` to run in debug mode
- run `go build` to build the binary