16 Commits

Author SHA1 Message Date
9f64d2a907 update gun-manager image version to v1.1.1 and adjust README instructions
All checks were successful
🏗️✨ Build Workflow / 🖥️ 🔨 Build (push) Successful in 21m22s
2025-08-08 14:27:03 -04:00
d473ddcaee add OpenAPI specification and enhance gun management routes 2025-08-08 12:42:25 -04:00
d63473e822 add LICENSE file and update README with application image 2025-07-30 13:40:14 -04:00
73c9a3dc67 add LICENSE file and update README with application image 2025-07-30 13:37:35 -04:00
29257775c4 add LICENSE file and update README with application image 2025-07-30 13:35:40 -04:00
773e608356 add LICENSE file and update README with application image 2025-07-30 13:34:55 -04:00
1efa7d5216 add LICENSE file and update README with application image 2025-07-30 13:34:08 -04:00
28731e1d60 update docker-compose.yml URL to use version tag v1.1.0
All checks were successful
🏗️✨ Build Workflow / 🖥️ 🔨 Build (push) Successful in 15m53s
2025-07-30 11:35:23 -04:00
875c3304d1 update docker-compose.yml URL to use version tag v1.1.0
Some checks failed
🏗️✨ Build Workflow / 🖥️ 🔨 Build (push) Has been cancelled
2025-07-30 11:34:06 -04:00
36fcd374d5 update Docker image reference and enhance README with application details 2025-07-29 16:29:30 -04:00
d3059d3481 update Docker Hub credentials and image version in configuration files
All checks were successful
🏗️✨ Build Workflow / 🖥️ 🔨 Build (push) Successful in 17m16s
2025-07-29 16:08:51 -04:00
c0fd8d6796 version
Some checks failed
🏗️✨ Build Workflow / 🖥️ 🔨 Build (push) Has been cancelled
2025-07-29 13:45:04 -04:00
a7fef89dda cors
All checks were successful
🏗️✨ Build Workflow / 🖥️ 🔨 Build (push) Successful in 20m24s
2025-07-29 13:11:12 -04:00
60e76f851e env
All checks were successful
🏗️✨ Build Workflow / 🖥️ 🔨 Build (push) Successful in 18m23s
2025-07-29 13:06:54 -04:00
6e374e59f5 cors
All checks were successful
🏗️✨ Build Workflow / 🖥️ 🔨 Build (push) Successful in 15m18s
2025-07-29 12:39:54 -04:00
fd1a88bd9f migrations
All checks were successful
🏗️✨ Build Workflow / 🖥️ 🔨 Build (push) Successful in 15m50s
2025-07-29 12:15:15 -04:00
7 changed files with 108 additions and 11 deletions

View File

@@ -25,9 +25,8 @@ jobs:
- name: 🔑 🔐 Login to Docker Hub
uses: docker/login-action@v3
with:
registry: scr.siteworxpro.com
username: ${{ secrets.SITEWORX_USERNAME }}
password: ${{ secrets.SITEWORX_PASSWORD }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: 🏗️ 🔧 Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -41,4 +40,4 @@ jobs:
platforms: linux/arm64,linux/amd64
context: .
dockerfile: Dockerfile
tags: scr.siteworxpro.com/gun-manager:${{ gitea.ref_name }}
tags: siteworxpro/gun-manager:${{ gitea.ref_name }}

View File

@@ -1,5 +1,7 @@
FROM node:22.14.0 AS frontend
ENV VITE_API=""
WORKDIR /frontend
ADD frontend/ ./
RUN npm install && npm run build
@@ -21,6 +23,8 @@ WORKDIR /app
COPY --from=frontend /frontend/dist /app/dist
COPY --from=backend /backend/app /app/app
ADD backend/migrations /app/migrations
EXPOSE 8000
ENTRYPOINT ["/app/app"]

21
LICENSE.md Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Siteworx Professionals, LLC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -1,6 +1,43 @@
# Gun Manager
![guns](https://gitea.siteworxpro.com/siteworxpro/gun-manager-frontend/raw/commit/156d77850a50fa39dea59c90bddb5ac9486eec89/src/assets/guns.gif)
Gun Manager is a web application for managing a gun inventory, built with Go and Vue. It allows users to add, edit,
and delete gun records, as well as view them in a user-friendly interface.
This application is designed to help gun enthusiasts and collectors keep track of their firearms, including details such
as make, model, caliber, and photos of each gun.
Great for insurance purposes, personal inventory management, or simply for enthusiasts who want to keep a detailed
record of their collection.
## Features
- Add, edit, and delete gun records
- View gun records in a table
- Search and filter gun records
- Responsive design
- Photo upload for each gun record
## Running the Application
To run the Gun Manager application, you need to have Docker installed on your machine. The application uses a SQLite
database to store gun records.
## Prerequisites
- Docker installed on your machine
- A directory named `data` in the current working directory to store the SQLite database file
```shell
docker run --rm \
-v $(pwd)/data:/data \
-p 8000:8000 \
scr.siteworxpro.com/gun-manager:v1.0.0 -database /data/gun_inventory.sqlite
```
mkdir -p data && \
curl -sSL https://gitea.siteworxpro.com/siteworxpro/gun-manager/raw/tag/v1.1.1/docker-compose.yml | docker compose -f - up -d
```
## Accessing the Application
Once the application is running, you can access it in your web browser at [https://localhost](https://localhost).
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE.md) file for details.

Submodule backend updated: 5ac3032a16...6e6bdc5709

36
docker-compose.yml Normal file
View File

@@ -0,0 +1,36 @@
services:
traefik:
image: traefik:latest
container_name: traefik
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
restart: always
command:
- "--providers.docker=true"
- "--providers.docker.exposedByDefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.web-secure.address=:443"
- "--accesslog=true"
- "--entrypoints.web.http.redirections.entryPoint.to=web-secure"
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
- "--entrypoints.web.http.redirections.entrypoint.permanent=true"
api:
image: siteworxpro/gun-manager:v1.1.1
container_name: gun-manager
labels:
- "traefik.enable=true"
- "traefik.http.routers.api.entrypoints=web-secure"
- "traefik.http.routers.api.rule=Host(`localhost`) || Host(`127.0.0.1`)"
- "traefik.http.routers.api.tls=true"
- "traefik.http.services.api.loadbalancer.server.port=8000"
volumes:
- ./data:/app/data
command:
- "-database"
- "./data/gun_inventory.sqlite"
environment:
CORS_ORIGINS: "https://localhost"