Go API with Vue
SPA(Single Page Application) starter pack.
To easily get up to speed and reduce an amount of work for web development projects. We try to let you avoid
as much boilerplate code as possible.
instead of setting up structure, dependencies and basic functionality, we provide it for you,
so you can make something great and fast with less effort.
Features:
- Pre-set structure, for development by example.
- Database automatic migrations.
- Asset compilation.
- SPA setup with state management.
- Registration/Authorization Front to Back with JWTs.
- Email verification.
- Password reset.
- Social authorization (currently with Google and Facebook)
Features to come (SOON!)
- Docker support (!Important!)
- Pagination service
- Model-Controller-Route / CRUD automatic (scripted) Generation
- Image upload
- Frontend management
- (Hopefully, many more...)
You will need a few things for this project to work properly. Firstly, make sure you have installed Go, NPM, Redis, Postgres
Please make sure:
- redis-server is up and running.
- postgresql is up and running; you have created a new database for the server.
- You have coped config/.env.example to config/.env and set correct variables for your system.
.env file has a json structure. You have to set database(required) and other parameters (optional) accordingly.
- npm install
- npm run dev
- npm run watch (*For realtime asset compilation)
- go run ./main.go
- Fiber One of the fastest, mini web framework. Used for routing and middleware registration.
- Gorm Go library for Object-Relational mapping of database.
- More to come, (for whole list, check go.mod file)
- PostgreSQL database.
- Redis server.
- TODO: even though currently should only support PostgreSQL, other databases will be supported in the future.
- VueX Frontend state management library.
- Vue-Router Frontend routing library.
- //TODO: more to come
- Webpack Used for module management.
- Laravel Mix An elegant wrapper around Webpack for the 80% use case. Used for asset compilation.
- //TODO: more to come
For contribution guidelines make sure to visit our Contributing page. Any help is greatly appreciated!
Some functionality isn't implemented (is just planned) and isn't guaranteed for the time.