Address Book Assignment
How to run the application
-
Clone the application with git@github.com:krishsb2405/assignment.git
-
Use the mySQL dump sql-dump.sql
to create the database, create the tables and insert some dump data.
-
Once the application is cloned and database is created, change the Connection String as per your mysql username, password and database name on line No. 20 in api.go.
-
Download the postman configuration file (optional).
-
There are number of dependencies which need to be imported before running the application. Please get the dependenices through the following commands -
go get "github.com/go-sql-driver/mysql"
go get "github.com/gorilla/mux"
-
To run the application, please use the following command -
go run api.go entry.go
Note: By default the port number its being run on is 12345.
Endpoints Description
Get All Entries
URL - *http://localhost:12345/api/entries*
Method - GET
Get Entry By ID
URL - *http:
Method - GET
Create Entry
URL - *http:
Method - POST
Body - (content-type = application/json)
{
"first_name":"John",
"last_name":"Doe",
"email_address":"john.doe@gmail.com",
"phone_number":"1234567890"
}
Update Entry
URL - *http:
Method - PUT
Body - (content-type = application/json)
{
"id":5,
"first_name":"John",
"last_name":"Doe",
"email_address":"john.doe@gmail.com"
}
Delete Entry
URL - *http:
Method - DELETE
Import entries through CSV
URL - *http:
Method - POST
Body - form-data
{
"csvFile": <csv-file>
}
Download entries to CSV
URL - *http:
Method - GET
Test Driven Development Description
To run all the unit test cases, please do the following -
go run api.go entry.go
go test -v
Hope everything works. Thank you.