Northstar
Boilerplate for creating real-time Hypermedia applications with Datastar (https://data-star.dev/) and NATS (https://nats.io/)
Install / Use
/learn @zangster300/NorthstarREADME
NORTHSTAR
Stack
Setup
- Clone this repository
git clone https://github.com/zangster300/northstar.git
- Install Dependencies
go mod tidy
- Create 🚀
Development
Live Reload is setup out of the box - powered by Air + esbuild
Use the live task from the Taskfile to start with live reload setup
go tool task live
Navigate to http://localhost:8080 in your favorite web browser to begin
Debugging
The debug task will launch delve to begin a debugging session with your project's binary
go tool task debug
IDE Support
Visual Studio Code Integration
a Debug Main configuration has been added to the launch.json
Starting the Server
go tool task run
Navigate to http://localhost:8080 in your favorite web browser
Deployment
Building an Executable
The task build task will assemble and build a binary
Docker
# build an image
docker build -t northstar:latest .
# run the image in a container
docker run --name northstar -p 8080:9001 northstar:latest
Contributing
Completely open to PR's and feature requests
References
Server
Embedded NATS
The NATS server that powers the TODO application is embedded into the web server
To interface with it, you should install the nats-cli
Here are some commands to inspect and make changes to the bucket backing the TODO app:
# list key value buckets
nats kv ls
# list keys in the `todos` bucket
nats kv ls todos
# get the value for [key]
nats kv get --raw todos [key]
# put a value into [key]
nats kv put todos [key] '{"todos":[{"text":"Hello, NATS!","completed":true}],"editingIdx":-1,"mode":0}'
Web Components x Datastar
🔗 Vanilla Web Components Setup
