Please sign in to access this page

Mailguard

Mailguard

2 devlogs
27h 47m
Created by zakkbob

A privacy-focused, self-hosted mail proxy written in go

Timeline

Update #2 - Nothing interesting yet :(

CI

  • Added a super cool CI workflow into github to automatically run tests

Database

  • Added integration testing for all methods (with dockertest)
  • Added 'email' field to users, this will be used as the primary and only email for now, multiple will be future functionality
  • Users can now be Retrieved and Deleted (not just created)
  • User aliases can be added

CLI

  • Added 'user delete' command
  • Added 'user alias create' command, for creating a new alias (under the root domain for now)

Overall

Still moving quite slowly, but I'm starting to understand things more. I have realised that this is taking longer than i thought, so I will focus on a smaller feature set for the first ship. Next will be the email receiving and forwarding.

Update attachment

Realised I should probably be making devlogs. So here's what's happened so far

CLI & Config

  • Learning how to use cobra for cli
  • Learning how to use viper for config
  • Began making user system (user create command)

Database

  • Using golang-migrate for migrations
  • Using dockertest for database integration testing (None yet)

Logging

  • Started by using logrus, made a bit of a mess
  • Switched to zerolog because apparently it's faster (probably makes no difference for me though)
  • Realised than go has a standard library called slog, which I should probably use instead (I'll see how zerolog goes)

Overall

I'm very new to Go, so I'm learning alot about how to structure a larger project well. But, I think it's going well so far

Update attachment