Skip to content

A mobile-first invoice generation system for Canine Club - a dog walking business πŸ•

License

Notifications You must be signed in to change notification settings

scottmckendry/ccinvoice

Repository files navigation

πŸ’Έ Canine Club Invoicing System πŸ’Έ

GitHub release (latest by date) GitHub Workflow Status (with event) License

A mobile-first web application I built for my wife's dog-walking business. Built with Go and HTMX

demo

πŸš€ Deploying

To run the app in a docker container, you'll need to create a .env file in the root directory with the following environment variables:

SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=[email protected]
SMTP_PASS=P@ssw0rd
FROM_NAME=John Doe
FROM_ADDRESS=4 Privet Drive, Little Whinging, Surrey
FROM_CITY=London
ACCOUNT_NUMBER=12-3456-7890123-45
BASE_URL=http://invoices.example.com

I recommend using a docker-compose file to run the app. Here's an example:

version: "3"
services:
    invoices:
        image: ghcr.io/scottmckendry/ccinvoice:main
        container_name: invoices
        networks:
            - traefik
        volumes:
            - /etc/localtime:/etc/localtime:ro
            - /var/run/docker.sock:/var/run/docker.sock
            - ./db.sqlite3:/app/db.sqlite3
            - ./.env:/app/.env
        ports: 3000:3000
        restart: unless-stopped

This will run the app on port 3000. I recommend using Traefik as a reverse proxy. Take a look at my setup guide for more information.

Warning

Do not expose the app to the internet without a reverse proxy running authentication middleware. The app does not have any authentication built in.

πŸ§‘β€πŸ’» Development

To run the app locally, create a .env file matching the example above. Then use the docker-compose file in the root of the repository by running docker compose up. This will run the app on port 3000. You can then access the app at http://localhost:3000.

The project uses air for live reloading. To run the app locally without docker, run air in the root of the repository.

🀝 Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

About

A mobile-first invoice generation system for Canine Club - a dog walking business πŸ•

Topics

Resources

License

Stars

Watchers

Forks

Packages