A user system API starter. Bring your own front-end.
- Sign up system with verification email
- Login system with forgot password and reset password
- Abusive login attempt detection
- Session management system
- Using minio to store user avatar
- User management section for admins
- Add and manage admins
Hermes is the Go part of the great mailgen engine for Node.js. Check their work, it's awesome! It's a package that generates clean, responsive HTML e-mails and associated plain text fallback.
Frame is built with the Echo 3.3 framework. We're using MongoDB as a data store and Minio to store files.
Frame is only a restful JSON API. If you'd like a ready made front-end for clients, checkout Hexagenal. Or better yet, fork this repo and build one on top of Frame.
You need Golang >=1.5.x
and you'll need a
MongoDB >=2.6
server running.
$ git clone https://github.com/thedevsir/frame-backend.git
$ cd frame-backend
Simply copy .env-sample
to .env
and edit as needed. Don't commit .env
to your repository.
$ go run !(*_test).go
____ __
/ __/___/ / ___
/ _// __/ _ \/ _ \
/___/\__/_//_/\___/ v3.3.dev
High performance, minimalist Go web framework
https://echo.labstack.com
____________________________________O/_______
O\
⇨ http server started on [::]:3500
Now you should be able to point your browser to http://127.0.0.1:3500/swagger/index.html and see the documentation page.
I suggest run MongoDB, Minio and Frame separately on container base tools like Docker to better manage.
Any issues or questions (no matter how basic), open an issue. Please take the initiative to read relevant documentation and be pro-active with debugging.
Contributions are welcome. If you're changing something non-trivial, you may want to submit an issue before creating a large pull request.
MIT
What you build with Frame is more important than Frame.
Ami Irani Senior Full Stack Developer |
Ehsan Ranjbar Software Developer |
Amirali Roshanaei Software Developer |