Hastings Blog

Hastings Blog is a lightweight blogging platform that provides a RESTful API which serves JSON and utilizes CRUD functions to manipulate data in SQL databases for posts and users. The platform leverages JSON Web Tokens for authentication and bcrypt to protect sensitive data for persistent data storage.
Features
- Postgres, MySQL, SQLite and Foundation database support
- CRUD functions for users and posts
- User authentication using JWTs and bcrypt with salt for secure password storage
Motivation
This is my first project built with golang. I've worked on this project for a little over 3 days and building a blogging platform is usually the first project I make with a new language.
Road Map
- API which allows CRUD for user management, posts, and user authentication
- Automated API testing
- Swagger API documentation
- Javascript front-end for readers to read posts
- Javascript front-end for authors to manage users and posts
Usage
There are two ways to start the blog platform. The first is to download the binary and the second is to clone the repository, build, and run.
From Binary
Download the binary Download
Run ./blog
From Source
Clone the repo git clone git@github.com:tghastings/blog.git
cd blog
go build
./blog
Default Username and Password
username: root
Password: 12345
The API is documented using Swagger. View the API Documentation.
Licence
This project is released under the MIT licence. See LICENCE for more details.