Simple CRUD REST API built with Go & PostgreSQL
> psql
> CREATE DATABASE twit;
DROP TABLE twit;
DROP TABLE users;
CREATE TABLE users (
ID SERIAL NOT NULL PRIMARY KEY,
USERNAME TEXT NOT NULL,
EMAIL TEXT NOT NULL,
PASSWORD TEXT NOT NULL,
CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE twit (
ID SERIAL NOT NULL PRIMARY KEY,
USER_ID INT NOT NULL,
BODY TEXT NOT NULL,
CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UPDATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
> \l # list dbs
> \d # list tables
> \c twit # connect to twit db
> SELECT * FROM twit;
go run main.go handlers.go helpers.go
- Install Postgres
- Pick a router standard or third party (httprouter)
- Define endpoints / routes
- Setup database tables
- Create index handler (fetch all twits)
- Create one twit handler (fetch one twit)
- Create authentication
- Create Signup
- Create Login
- Create Logout
- Create authorization middleware
- Create POST twit
- Create EDIT twit
- Create DELETE twit