4172ecc42717558b00ed7684fb2faea2178ae477
Feat/sync seeder
…
…
…
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
Link: https://go.dev -
Framework : No Framework
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
Link: https://www.postgresql.org -
Cache : Redis
Link: https://redis.io -
File Server : Minio
Link: https://www.min.io
Libraries
- Routing Helper: Apem
Link: https://github.com/karincake/apem - ORM: GORM
Link: https://gorm.io - Database Migration: Atlas
Link: https://atlasgo.io/guides/orms/gorm/program
Others
- Project Layout: Golang Standards Project Layout
Link: https://github.com/golang-standards/project-layout - Architecture: Clean Architecture
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 buildto build the binary
- Main migration:
- go to the ./cmd/main-migration
- run
go run .to run in debug mode - run
go buildto build the binary
Description