Skip to content

theandrew168/bloggulus

Repository files navigation

bloggulus

Bloggulus is a web application for aggregating and indexing your favorite blogs. I wrote it to serve as a less engaging and more personalized version of sites like Hacker News or Reddit.

Local Development

While the primary Bloggulus website represents my own personal collection of blogs, it is designed to be easily self-hostable. Check out the releases page for pre-built binaries.

Setup

This project depends on the Go programming language.

Database

This project uses PostgreSQL for persistent storage. To develop locally, you'll an instance of the database running somehow or another. I find Docker to be a nice tool for this but you can do whatever works best.

The following command starts the necessary containers:

docker compose up -d

These containers can be stopped via:

docker compose down

Running

Run the application (with automatic restarts via wgo):

make run

OAuth Services

For authentication, this project relies on OAuth social sign ins (from GitHub and Google). To work on the auth system, you'll need to create a bloggulus.local.conf file that contains the necessary OAuth credentials for each service. If you need these credentials, feel free to reach out.

Then, you can run the app using the local config file with:

make run-local

Otherwise, you can simply run the application normally (without OAuth configured) and use the local-only debug sign in. This is enabled by default (via the ENABLE_DEBUG_AUTH environment variable) for the run and run-local targets.

Testing

Tests can be ran after starting the necessary containers:

make test