The Great Rewrite
Since the project started 11 months ago, I have been learning Golang, React, Typescript, DNS, Vite, and much more... This in turn meant that major parts of the project was getting old fast, due to the poor code quality in certain areas.
Since the project was in dire need of improvements, I made the greatest change for GoAway thus far. This PR refactors the majority of all backend logic and is finally in, with the hope of simplifying and speeding up future development. So what has been done...
Services and Repositories
Previously, no "standard" existed in terms of how to structure logic, resulting in a very jagged flow which was hard to keep up with and often led to bugs.
I find that the service/repository flow is very nice, keeping business logic at the top and database/other at the lower end. Also with the addition of interfaces, testing should now be easier. Another hope is extensibility, meaning that the database can be swapped out if needed, from SQLite to PostgreSQL as an example.
Documentation
The addition of this website. Going forward, the hope is to document any installation, configuration, workflow and such here. The GitHub readme is not always easy to index, so the hope is that this website can improve the experience.
Minor notes
- Types for frontend code
- Golang version bump (1.25.3 -> 1.25.4)
- New project mascot
- ~8.6k lines of code added and ~6k removed