Commit Graph

27 Commits

Author SHA1 Message Date
Arpit Mohan
4733ebf95b Removing Go code from the repo. This is now pure Java spring boot app 2019-03-30 13:01:06 +05:30
Arpit Mohan
d786890834 Adding the staging properties with mongodb atlas setup 2019-03-30 12:58:34 +05:30
Arpit Mohan
cef6946859 Adding the LayoutController that will store the DDL for the page layouts
Also adding the getById function in the BaseController so that all CRUD APIs will automatically support that API call.
2019-03-30 12:23:21 +05:30
Arpit Mohan
f8b382940d Adding basic authentication to the server.
This will allow us to host it on a webserver for integration purposes.
2019-03-30 12:01:24 +05:30
Arpit Mohan
8ccd001652 Adding abstractions for CRUD APIs.
Now we can easily add controllers for any resource quickly by simply adding a few files.
2019-03-19 19:39:05 +05:30
Arpit Mohan
f7aaafacfb Moving to Mongo instead of Postgresql for storage.
This will allow us to store the widget, plugin & page information much more cleanly and directly into the DB.
2019-03-19 12:13:21 +05:30
Arpit Mohan
9cea9f94f2 Completing the CRUD for the widget domain. 2019-03-19 02:28:00 +05:30
Arpit Mohan
e4f59ff941 Adding the Spring java API for creating Widget.
Migrating the code to Spring Java instead of Golang
2019-03-19 01:50:32 +05:30
Arpit Mohan
7ea78bf64c Adding functionality to execute a query via mustache template. 2019-03-16 18:28:44 +05:30
Arpit Mohan
49b7051cea Moving the method comparison in gorilla mux to the end and not in the chain
This allows mux to compare and match the requests based on the HTTP method as well. If we compare the methods in the middleware chain, then mux will try to redirect the request to the first match it finds.
2019-03-16 17:05:20 +05:30
Arpit Mohan
1133b53437 Adding Google authentication via Goth. All endpoints can now be authenticated.
Other changes include:
* Also removing httprouter mux in favour of gorilla for being more mature and having more integrations and resources available for debugging.
* Adding http middlewares for logging req processing time and handling authentication.

TODO: Need to add context in the middleware as well. Will be useful for logging and debugging.
2019-03-16 15:47:47 +05:30
Arpit Mohan
edaf7e3025 Correcting the project structure as per idiomatic go 2019-03-10 15:51:19 +05:30
Arpit Mohan
ce34ff4a83 Completing the CRUD for the query API. Also being able to execute a saved query.
TODO: Handle parameters while executing a saved query.
2019-02-28 09:41:35 +05:30
Arpit Mohan
b38df1c07d Minor refactoring 2019-02-28 00:46:17 +05:30
Arpit Mohan
dc66c070d6 Adding viper configuration to make the server configurable.
The config file `config.yml` must  be in the same location as the binary. It must be named `config.yml`. For different environments, symlink the configuration file to the environment speciifc file.
2019-02-28 00:35:50 +05:30
Arpit Mohan
3cfadc1c51 Completing the CRUD API for component model. Also adding more basic structs for other models 2019-02-27 22:05:03 +05:30
Arpit Mohan
eb2af8e534 Minor comments 2019-02-27 09:44:02 +05:30
Arpit Mohan
13a0247fd7 Creating a generic map to struct function to convert any map objects into struct objects
Also creating a services package. This will hold all the business logic. The controllers will be very light.
2019-02-27 09:29:30 +05:30
Arpit Mohan
4016562f09 Making the ExecuteQuery function generic to return a map of rows instead of a struct
This will help us to execute arbitrary queries and map them to results at a later stage.
2019-02-26 23:49:20 +05:30
Arpit Mohan
acbb5a55e0 Moving gorm ORM library for Golang database connections
Also creating the Create API for components
2019-02-26 23:22:37 +05:30
Arpit Mohan
13156380ce Adding the factory pattern to switch between databases.
Also adding a basic GET API for components

Making modifications to the Makefile to create a dist/ folder.
2019-02-26 22:36:21 +05:30
Arpit Mohan
f72597051c Adding the factory method to derive postgres implementation for db 2019-02-22 10:16:46 +05:30
Arpit Mohan
6560d1005c Adding the files for the APIs 2019-02-22 08:53:03 +05:30
Arpit Mohan
2be56a1f12 Adding httprouter as the HTTP multiplexer and also setting up postgres db connection and executing a random query
This basically sets up some rough structure of the code
2019-02-22 08:48:08 +05:30
Arpit Mohan
21de87596c Adding the go module init file go.mod 2019-02-21 23:21:07 +05:30
Arpit Mohan
82289b5041 Initial commit. Adding the Makefile and hello world code 2019-02-21 10:08:45 +05:30
Arpit Mohan
53ae0ba4e5 Initial commit 2019-02-17 05:41:20 +00:00