Skip to content

thedevsir/frame-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frame API Build on JSON Web Tokens

A user system API starter. Bring your own front-end.

Features

  • 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

Responsive HTML e-mails

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.

Technology

Frame is built with the Echo 3.3 framework. We're using MongoDB as a data store and Minio to store files.

Bring your own front-end

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.

Requirements

You need Golang >=1.5.x and you'll need a MongoDB >=2.6 server running.

Installation

$ git clone https://github.com/thedevsir/frame-backend.git
$ cd frame-backend

Configuration

Simply copy .env-sample to .env and edit as needed. Don't commit .env to your repository.

Running the app

$ 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.

Running in production

I suggest run MongoDB, Minio and Frame separately on container base tools like Docker to better manage.

Have a question?

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.

Want to contribute?

Contributions are welcome. If you're changing something non-trivial, you may want to submit an issue before creating a large pull request.

License

MIT

Don't forget

What you build with Frame is more important than Frame.

Team


Ami Irani

Senior Full Stack Developer


Ehsan Ranjbar

Software Developer


Amirali Roshanaei

Software Developer