Skip to content
This repository has been archived by the owner on Feb 19, 2019. It is now read-only.
/ go-simple-rest-api Public archive

Simple REST API built with Go / Postgres / JWT (Practice)

Notifications You must be signed in to change notification settings

yhagio/go-simple-rest-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple REST API with Go (Practice)

Simple CRUD REST API built with Go & PostgreSQL

alt text

Third party libraries

Setup

> 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;

To run

go run main.go handlers.go helpers.go

TODO

  • 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

About

Simple REST API built with Go / Postgres / JWT (Practice)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages