µblog was a school project to create a working prototype of a microblogging website.
No further development is currently planned
The back-end of µblog written with ASP.NET Core. Find the official front-end here
Features Supported by the API
- Get Posts Paginated and Get Posts by ID
- Post, Edit, Delete Posts
- Get Comments by Post
- Create, Delete Comment under Post
- Like, Unlike Post
- Upload Images
- Get Images
- Get User Profile
- Get Follower, Following of User
- Follow, Unfollow User
- Register Account
- Log into Account
- Refresh JWT Token
- Change, Display Name, Email, Profile Description and Password
- Delete Account
API can be inspected and tested with Swagger by going to example.com/swagger.
The recommended way of deploying µblog is via Docker. The docker file is included in the repository.
- Deploy a PostgreSQL database and run the scripts in repository under
src/Infrastructure/Data/SQL
git clone https://github.com/mublog/mublog-server.git
cd mublog-server
docker build . -t mublog:latest
docker volume create mublog-data
docker volume create mublog-www
- compile the front-end and put the files into the docker volume
mublog-www
docker run --name mublog -d --restart=unless-stopped -v mublog-data:/data -v mublog-www:/app/wwwroot mublog
It is recommended that you run an NGINX reverse proxy for higher security with HTTPS, read about it here.
Potential features that might be implemented in the future if the project continues to be developed.
- server side caching
- standalone image server
- an email service for notifications and authentication
- more options to customise the profile supported by the profile
- enhance security features in the back-end
- custom feed for each registered user
- search options enabled by PostgreSQL full text search
- enable horizontal scaling