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.gofile
To add new model:
- Define your model
structin themodels.gofile - Add your model into
migrate.gofile forAutoMigration - Implement your
Handlersin thehandlers.gofile
Here, I am using postgresql as it's my favorite relational database :) but if you like to use different databse:
- Create separate
.gofile and call it with your db name inmainpackage - Implement all
StorageInterfacemethods in that file - Use it in the
main.goto 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!