Skip to content

Latest commit

 

History

History
60 lines (52 loc) · 2.91 KB

README.md

File metadata and controls

60 lines (52 loc) · 2.91 KB

Ribbit Device Manager

Current functionality is user and device associations. As this is an open source project, we gladly welcome any new developers to help us expand current functinoality. This app queries the Golioth REST APIs (reference docs available on their website)

Signing up for ribbit account

If the app is being run locally, below are a list of the URLs that are provided for the user to be able to signup, login and create a new device:

For Developers

This section is intended to provide enough information for you to be able to run the app in your local environment.

Getting Started

To run the app locally, you'll need a MySQL server and you'll need to configure the following three environment variables:

  • "DSN_ENV" : Specific to your local db creds
  • "GOLIOTH_PROJECT_ID" : available in the Golioth user terminal
  • "GOLIOTH_API_KEY": available in the Golioth user terminal

If you are using vscode. Below is a sample json, the provided environment variables will not work and have to be replaced with ones that are specific to your setup.

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ribbit",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${workspaceFolder}/cmd/main.go",
            "env" :
            {
                "DSN_ENV" : "admin:password123@tcp(127.0.0.1:3306)/ribbit?charset=utf8mb4&parseTime=True&loc=Local",
                "GOLIOTH_PROJECT_ID" : "ribbit-test-123456",
                "GOLIOTH_API_KEY" : "Z2s6Kf1w3FqRTVjg5My9ZpXtDhNJxQ8P",
            }
        }
    ]
}

Browser Access

Since we don't have a homepage dashboard yet, below are the two webpages that you will need to be able to access all respective functionality. The remaining info will be presented to you on these pages.

  • localhost:8080/ : signup page
  • localhost:8080/login : login page

Ribbit REST APIs

The APIs available are listed below and can be accessed by using a separate API tool such as postman.

  • GET / : loads signup user page
  • POST /signup/:email/:password : signup a new user
  • GET /login : load the login user page
  • GET /logout : load the logout user page
  • POST /login/:email/:password : sign in user assuming the signup is complete
  • DELETE /users/:email : deletes the respective user email
  • POST /createNewDevice : creates a device in the golioth system and associates it with the specified user email

OPEN ITEMS

  • server user a list of golioth devices associated to their user account and present on the UI on the loggedin.html and devices.html page
  • Improve UX. Make the UI a lot nicer and improve navigation
  • Create an admin user page
  • TODOs throughout the code. There are a few of these