/GoWithWith

A user system API starter

Primary LanguageGo

GoWithWith API Build on JSON Web Tokens

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

Build Status Dependency Status devDependency Status

Features (we working on it)

  • Sign up system with verification email
  • Login system with forgot password and reset password
  • Abusive login attempt detection
  • Session management system

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

Fresh is built with the Echo 3.3 framework. We're using MongoDB as a data store.

Bring your own front-end

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

Requirements

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

Installation

$ git clone https://github.com/Gommunity/GoWithWith.git
$ cd GoWithWith
// install packages with go tools

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

It's soon yet !

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 GoWithWith is more important than GoWithWith.