Full Client that communicates with the backend Server system through REST API for Food Delivery Applications. Written in go/ golang with search, auto complete and suggestive search as well. The server also utilizes different flags that can be switced on and off, depending on environment settings and testing requirements.
It is best to open up both the server as well as the client along with the instructions to see the project in action.
Click Here for the Backend Server
Click Here for the Client Server
The client app was an extension of the server application to allow different merchants on board to make their own changes to their menu items with us. As the clients' interfaces uses API keys that can be retrieved from the main server after loggin in, merchants are able to make changes to their menu items easily as long as they have their API key, and have a browser to access https://kvclient.sozoalvin.com
Amazon Web Services EC2 - Ubuntu
Amazon Web Services RDS - mySQL - Server only (client does not have a direct access to the database)
Amazon Web Servies HTTP/HTTPS LB - load balancer
Click Here to learn more about how RESTAPI was deployed on the backend server as well as the client's
For development purposes in your own environment, use the following command once you've in the working directory
go run .
You can access the server on localhost or localhost:80 if the former doesn't work
If you are running the server the same computer/host, please consider changing the ListenAndServe argument from
http.ListenAndServe(":80", router)
to
http.ListenAndServe(":8080", router)
If you do that change, you'll want to access the server on localhost:8080 instead.
To check if your program is ready for production, use the following command.
go run . -productionFlg
You can access the server on localhost if the former doesn't work
When production flag is activated, your API calls would be routed via https: instead of http
go run . -productionFlag -domain www.yourdomainname.com
On an actual web server, your domain name to your server has to be specified. If you server has a valid certificate, your should be able to send your requests through https.
Sample RestAPI query URL if -productionFlag and -domain are not specified
http://localhost/api/v1/apivalidation?api=dummy_api_key_here_pleae_paste_your_own
Sample RestAPI query URL if -productionFlag and -domain are specified
https://www.yourdomainname.com/api/v1/apivalidation?api=dummy_api_key_here_pleae_paste_your_own
Set up your merchant account with your brand's name, detailed location, postal code and operating hours. Now it even includes a cut off timing!
Sample food item being added
Did you know that items added by merchants are immediately searchable and indexed by the main server?
Editing a food menu item doens't have to be complicated when it's only 2 clicks + 2 forms
Deleting a food menu item is also very straightforward