https://github.com/chizidotdev/nuntius-go
Go + HTMX version. Nuntius is an interactive anonymous messaging webapp with a dare game.
https://github.com/chizidotdev/nuntius-go
clean-architecture golang htmx oauth2 templ
Last synced: 5 months ago
JSON representation
Go + HTMX version. Nuntius is an interactive anonymous messaging webapp with a dare game.
- Host: GitHub
- URL: https://github.com/chizidotdev/nuntius-go
- Owner: chizidotdev
- Created: 2023-12-26T16:13:21.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-11T12:41:25.000Z (over 2 years ago)
- Last Synced: 2024-01-11T16:30:07.943Z (over 2 years ago)
- Topics: clean-architecture, golang, htmx, oauth2, templ
- Language: Go
- Homepage: https://nuntius.up.railway.app/
- Size: 77.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Nuntius Go
Nuntius is an interactive anonymous messaging webapp with a dare game. Built with Go, HTMX, Templ and PostgresQL. This is a clone of the [original nuntius](https://github.com/chizidotdev/nuntius) built with NextJS...
Goal of this project was to experiment with the golang, htmx and templ stack.
### Explored Features
- Templ + HTMX for server side rendering and client side interactivity
- Google oauth2
- Session storage with gin and postgres
- Send and receive anonymous messages
- Clean architecture pattern
## Development
Ensure you have [docker](https://docs.docker.com/engine/install) and the [compose plugin](https://docs.docker.com/compose/install) installed and setup on your machine
Run the following command to start the server
```bash
docker compose up
```
Navigate to `localhost:8080` on your browser to view the app
### Architecture Overview
```bash
cmd/ # Main application entry point
config/ # Application configuration ( env variables )
internal/
|-- app/
| |-- components/ # Htmx + Templ components
| |-- db/ # Database connection
| |-- drivers/ # External services ( HTTP client )
|-- core/
| |-- domain/ # Core domain data models
| |-- service/ # Core business logic
```
### TODO
- [x] Containerize with docker
- [ ] Websockets implementation
### Contact
- 𝕏 [@chizidotdev](https://twitter.com/chizidotdev)