backgroundoo/README.md
Andrei Vavilov - SKIDATA 6b177c7e90 init commit
2026-04-09 13:39:43 +02:00

118 lines
4.3 KiB
Markdown

# Your awesome project
Welcome to the yet another awesome project generated with the Gowebly CLI! 🎉
This README file contains all the necessary information about:
- [Project overview](#project-overview)
- [Folders structure](#folders-structure)
- [Starting your project](#starting-your-project)
- [Developing your project](#developing-your-project)
- [Deploying your project](#deploying-your-project)
And some words [about the Gowebly CLI](#about-the-gowebly-cli).
## Project overview
Backend:
- Module name in the go.mod file: `github.com/bergbauer888/backgroundoo`
- Go web framework/router: `Chi`
- Server port: `7000`
Frontend:
- Package name in the package.json file: `backgroundoo`
- Reactivity library: `htmx with Alpine.js`
- CSS framework: `Tailwind CSS`
Tools:
- Air tool to live-reloading: ✓
- Bun as a frontend runtime: ✓
- Templ to generate HTML: ✓
- Config for golangci-lint: ✓
## Folders structure
```console
.
├── assets
│ ├── scripts.js
│ └── styles.scss
├── static
│ ├── images
│ │ └── gowebly.svg
│ ├── apple-touch-icon.png
│ ├── favicon.ico
│ ├── favicon.png
│ ├── favicon.svg
│ ├── manifest-desktop-screenshot.jpeg
│ ├── manifest-mobile-screenshot.jpeg
│ ├── manifest-touch-icon.svg
│ └── manifest.webmanifest
├── templates
│ ├── pages
│ │ └── index.templ
│ └── main.templ
├── .gitignore
├── .dockerignore
├── .prettierignore
├── .air.toml
├── golangci.yml
├── Dockerfile
├── docker-compose.yml
├── prettier.config.js
├── package.json
├── go.mod
├── go.sum
├── handlers.go
├── server.go
├── main.go
└── README.md
```
## Starting your project
> ❗️ Please make sure that you have installed the executable files for all the necessary tools before starting your project. Exactly:
>
> - `Air`: [https://github.com/air-verse/air](https://github.com/air-verse/air)
> - `Bun`: [https://github.com/oven-sh/bun](https://github.com/oven-sh/bun)
> - `Templ`: [https://github.com/a-h/templ](https://github.com/a-h/templ)
> - `golangci-lint`: [https://github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint)
To start your project, run the **Gowebly** CLI command in your terminal:
```console
gowebly run
```
## Developing your project
The backend part is located in the `*.go` files in your project folder.
The `./templates` folder contains Templ templates that you can use in your frontend part. Also, the `./assets` folder contains the `styles.scss` (main styles) and `scripts.js` (main scripts) files.
The `./static` folder contains all the static files: icons, images, PWA (Progressive Web App) manifest and other builded/minified assets.
## Deploying your project
All deploy settings are located in the `Dockerfile` and `docker-compose.yml` files in your project folder.
To deploy your project to a remote server, follow these steps:
1. Go to your hosting/cloud provider and create a new VDS/VPS.
2. Update all OS packages on the server and install Docker, Docker Compose and Git packages.
3. Use `git clone` command to clone the repository with your project to the server and navigate to its folder.
4. Run the `docker-compose up` command to start your project on your server.
> ❗️ Don't forget to generate Go files from `*.templ` templates before run the `docker-compose up` command.
## About the Gowebly CLI
The [**Gowebly**](https://github.com/gowebly/gowebly) CLI is a next-generation CLI tool that makes it easy to create amazing web applications with **Go** on the backend, using **htmx**, **hyperscript** or **Alpine.js**, and the most popular **CSS frameworks** on the frontend.
It's highly recommended to start exploring the Gowebly CLI with short articles "[**What is Gowebly CLI?**](https://gowebly.org/getting-started)" and "[**How does it work?**](https://gowebly.org/getting-started/how-does-it-work)" to understand the basic principle and the main components built into the **Gowebly** CLI.
<a href="https://gowebly.org/" target="_blank"><img height="112px" alt="another awesome project built with the Gowebly CLI" src="https://raw.githubusercontent.com/gowebly/.github/main/images/gowebly-new-project-banner.svg"/></a>