Git Product home page Git Product logo

gofast's Introduction

GoFast

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)
  • Pagination service

Features to come (SOON!)

  • Docker support (!Important!)
  • Model-Controller-Route / CRUD automatic (scripted) Generation
  • Image upload
  • Frontend management
  • (Hopefully, many more...)

Dependency setup

You will need a few things for this project to work properly. Firstly, make sure you have installed Go, NPM, Redis, Postgres

Before you run server

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.

Asset compilation

  • npm install
  • npm run dev
  • npm run watch (*For realtime asset compilation)

Run server

  • go run ./main.go

Go active dependencies

  • 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)

Database

  • PostgreSQL database.
  • Redis server.
  • TODO: even though currently should only support PostgreSQL, other databases will be supported in the future.

Vue dependencies

  • VueX Frontend state management library.
  • Vue-Router Frontend routing library.
  • //TODO: more to come

General development dependencies

  • 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

Contributing

For contribution guidelines make sure to visit our Contributing page. Any help is greatly appreciated!

Disclaimer

Some functionality isn't implemented (is just planned) and isn't guaranteed for the time.

gofast's People

Contributors

dependabot[bot] avatar durid17 avatar enqidu avatar gegadarakhvelidze avatar gogotchuri avatar jupyterjazz avatar lkito avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

durid17

gofast's Issues

Email Verification Front End-Point

We have implemented email verification feature on backend but we yet to implement it on the front-end in Vue. So, it's not of much of a value.

We need a page for authorized user, where sent code can be entered and submitted to the backend.

Front Endpoint for password forgotten and reset

We have implemented password forgotten and reset on backend but we yet to implement it on the front-end in Vue. So, it's not of much of a value.

  1. Password forgotten should give user a form, with just an email field and submit(reset) buttom. Form should be posted to corresponding route ( "/api/forgot-password") and display success regardless email exists or not.
  2. Password reset should give user, with a password, password confirmation fields and submit(reset) buttom. Form should be posted to corresponding route ( "/api/password-reset"). (!important) post should contain field token with valid token, extracted from url.

Add style to SignIn page

Explain the Proposed Feature or Change

There is no styling on sign in page and it looks boxy

Possible Implementation

Only one file will need to be changed: resources/views/auth/SignIn.vue
Very basic style will be enough

Add style to SignUp page

Explain the Proposed Feature or Change

There is no styling on sign up page and it looks boxy

Possible Implementation

Only one file will need to be changed: resources/views/auth/SignUp.vue
Very basic style will be enough

Add style to navbar

Is your feature or change request related to a problem? Please describe.
The navbar doesn't have a styling

Describe the solution you'd like
One file needs to be changed: resources/views/partials/MainNav.vue

Just add a basic styling black background is prefered.

Featue: Implement a pagination service

Explain the Proposed Feature or Change

Add a pagination service for ease of access.

Possible Implementation

One file will need to be changed: app/services/pagination/paginator.go

Structures have already been written and the fields are self-explanatory. Function needs to be implemented

Logout on Front-end

Currently user can only log into front end application. We need to provide a way for logout too.
This feature is partially implemented, but needs a quick attention.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.