This project is a Go language learning project with simple RestFul services. It uses postgres db inside with docker-compose. You can compose with dockerfile or create your own postgres database without it.
For run docker-compose, you need to write following commands. In your project folder,
cd docker
docker-compose up
then PostgreSQL works on 32300 Port (32300 -> 5432). You can access with database IDE (DataGrip, Intellij etc.) with configure port 32300.
If you want to conncect from your host system type the following command to terminal.
psql -h localhost -p 32300 -d docker -U docker --password
For more information about it,
CREATE TABLE USERS (
ID INT PRIMARY KEY,
NAME TEXT NOT NULL,
SURNAME TEXT NOT NULL,
AGE INT NOT NULL
);
CREATE SEQUENCE public.users_id_seq NO MINVALUE NO MAXVALUE NO CYCLE;
ALTER TABLE public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq');
ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
Under config/config.go directory in the project, you will find database access configuration. You can change it with your custom configuration.
DB_USER = "docker"
DB_PASSWORD = "docker"
DB_NAME = "docker"
PORT = "32770"
First of all, you need to have Go in your computer. For Mac you can install with brew easily.
brew install go
If everything is OK, you should encounter an output like this at terminal when wrote go version.
go version
go version go1.9.2 darwin/amd64
You need to following library for the postgres.
go get github.com/lib/pq
For run the project, in the project directory you need to write following command.
go run main.go
If everything works correctly, you can start the CRUD operations with following URL.
http://127.0.0.1:3000
List all of user (Need To Use GET method)
http://127.0.0.1:3000/getAll
Add new User with JSON type ((Need To Use POST method))
http://127.0.0.1:3000/newUser
{
"name": "mockName",
"surname": "mockSurname",
"age": 30
}
List one user with the given Id (Need To Use GET method)
http://127.0.0.1:3000/users/1
Update one user with the given Id (Need To Use PUT method)
http://127.0.0.1:3000/users/1
Delete one user with the given Id (Need To Use DELETE method)
http://127.0.0.1:3000/users/1