Crudify is a simple Golang project that implements basic CRUD function using Golang as it's my first experience with this language. I tried to use Storage interface but making some general database functions that allows you to use them for all models using context and reflection in Go!
keep calm and run make run
! then the application starts to listen on port 8080
by default.
if you like to edit listen port, just edit it in the main.go
file
s := NewServer("0.0.0.0", "8080", pgStorage)
Don't forget to put your own database credentials in the
main.go
file
To add new model:
- Define your model
struct
in themodels.go
file - Add your model into
migrate.go
file forAutoMigration
- Implement your
Handlers
in thehandlers.go
file
Here, I am using postgresql
as it's my favorite relational database :) but if you like to use different databse:
- Create separate
.go
file and call it with your db name inmain
package - Implement all
StorageInterface
methods in that file - Use it in the
main.go
to pass it toNewServer()
Just be sure you are implementing general functions to use reflection and context to get and return all models using same methods
Just fork the repo and make your changes in new branch starting with feat/your-feature-name
. create PR when you are done!