This is a very early stage demo for Goms.
1. Independent User registration / User sign-in
You can create a public site or a private site, or mixed. Was using auth0 earlier but felt it as an extra step during setup. Authentication/Authorization is a first class component.
2. Native support for user defined entities
Create extensively related entities, eg. (Clothing)"Style" has a "Style File", some "Order" and "Costing", and "Order" has "Vendor" associated to it. Entities you see in this demo are defined here [1], [2]
3. Oauth Connections and Tokens ( Live Sync Google Sheet [3] )
We are handling "data exchange" with the external world (think google sheets, slack messenger, other APIs) as a first class citizen.
To demo this, four of the entities defined (using our JSON above) are synced to this Google sheet [3]
- Blog - Style - Order - Vendor
Whenever one of these is created, goms will call one/some REST API.
- Oauth connection details configured using JSON files - Access tokens and refresh tokens:, complete oauth2 flow - Tokens/passwords stored securely to avoid accidental leak
4. Behind the scenes
- Everything is backed by a relational database - Built in golang with goals to compile for IOT devices as well - The view/dashboard is completely detached from the backend
[1] https://github.com/artpar/goms/blob/master/gomsweb/static/samples/blog.json
[2] https://github.com/artpar/goms/blob/master/gomsweb/static/samples/style.json
[3] https://docs.google.com/spreadsheets/d/1Ru-bDk3AjQotQj72k8SyxoOs84eXA1Y6sSPumBb3WSA/edit?usp=sharing
[4] https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append
Github: https://github.com/artpar/gomsYou can deploy using readily available docker -p 8080:8080 run goms/goms, or "Deploy to Heroku" button.
Would love feedback on all parts of Goms. Plus welcome hackers who can help in identifying holes.
PS: this is a demo instance. please use dummy details to sign up. nothing is tracked though.