Version 1.0

This commit is contained in:
nocci 2025-04-26 14:32:07 +02:00
parent 4bebbb27e4
commit eaa508a8df
33 changed files with 2822 additions and 994 deletions

View file

@ -1,34 +1,50 @@
# 🔑 Game Key Management System 🔑
# 🔑 Game Key Manager 🔑
![Screenshot](GameManager.png)
## Welcome! 👋
## 👋 Welcome! 👋
This project helps you keep track of your collected game keys.
No more confusion about whether a key is redeemed, gifted, or still unused now you have everything in one place, with search, status, and even automatic Steam cover images!
It's even possible to gift your keys via a unique website. Just edit the game to "Gifted" and you'll get a option to copy the on your overview page. (maybe HTTPS only)
(the link will also remain in the edit area)
![Screenshot](GameManager.png)
---
## ✨ Features ✨
- **Key Management:**
Enter your game keys, the corresponding game, platform, and where you got the key.
Enter your game keys, the corresponding game, platform, and maybe where you got the key.
- **Status Tracking:**
Mark keys as "Redeemed", "Gifted" or "Available" always know your status.
- **Shop URL & Steam Cover:**
Save the shop URL and (optionally) the Steam AppID. The app will automatically show the official Steam cover image if available.
- **Gift your Games:**
You can create a unique redeem/gift website, which will expire after 24h.
- **Multi-user:**
Each user manages their own keys.
- **Search & Filter:**
- **Enable/Disable Registrations:**
Perfect if you want to run the Server just on your own (via .env file)
- **Search:**
Find games quickly with the search function.
- **Responsive UI:**
Works on desktop and mobile, with Dark Mode toggle.
- **Multi-language:**
Switch between English and German instantly.
Switch between English and German instantly*.
- **Import/Export (CSV / PDF -only export-):**
Easy export and import of your keys. (e.g. in case you have to start over)
- **Change Password:**
Change your Password on the fly.
- **Website Security:**
You can turn on/off CSRF and Secure Cookie via .env file.
- **Notifications:**
If you have key that have to be redeemed before a specific date. You can set up sending messages via, Pushover, Matrix and Gotify
- **No key data leaves your server!**
- **(Planned):**
- Import/Export (CSV, JSON)
- Redeem site with unique sharing link
- ~~Import/Export (CSV)~~
- ~~Redeem site with unique sharing link~~
---
@ -37,13 +53,14 @@ No more confusion about whether a key is redeemed, gifted, or still unused n
### 1. **Clone the Repository**
```bash
git clone https://git.nocci.it/nocci/GiftGamesDB
git clone https://git.nocci.it/nocci/GameKeyManager
cd steam-gift-manager
```
### 2. **Setup Docker**
Make sure you have [Docker](https://www.docker.com/) and [docker-compose](https://docs.docker.com/compose/) installed.
If not, the script will ask you what to do and can install Docker and docker-compose for you. (maybe not if you are running Arch)
### 3. **Initial Setup**
@ -62,54 +79,90 @@ docker-compose build --no-cache
docker-compose up -d
```
### 5. **Initialize and Edit Translations (Optional)**
### 5. **Edit your .env file to your liking**
It's in your root folder of the installation!
```xml
# Sicherheit
SESSION_COOKIE_SECURE="True" (only works if you run this app via HTTPS)
CSRF_ENABLED="True"
```
**Important after any(!) change of the .env file!**
```bash
cd steam-gift-manager/
docker-compose down && docker-compose up -d --build
```
### 6. **Initialize and Edit Translations (Optional)**
```bash
./translate.sh
```
Edit the .po files in steam-translations/de/LC_MESSAGES/messages.po and en/LC_MESSAGES/messages.po
Edit the .po files in translations/de_DE/LC_MESSAGES/messages.po and en_US/LC_MESSAGES/messages.po
```bash
./translate.sh
cd steam-gift-manager/
docker-compose restart steam-manager
docker-compose down && docker-compose up -d --build
```
### 6. **Open the App**
### 7. **Open the App**
Go to [http://localhost:5000](http://localhost:5000) in your browser.
- Register your first user.
- Add your keys, shop URLs, and (optionally) Steam AppIDs.
- Add your keys, shop URLs etc.
- Enjoy search, status, and automatic Steam cover images!
---
## 🛠️ Technology Stack 🛠️
- **Frontend:** Bootstrap 5, Jinja2 Templates
- **Backend:** Python 3, Flask, Flask-Babel, Flask-Login, Flask-SQLAlchemy
- **Frontend:** Bootstrap 5, Jinja2 Templates ...
- **Backend:** Python 3, Flask, Flask-Babel, Flask-Login, Flask-SQLAlchemy ...
- **Database:** SQLite (persisted in `data/`)
- **Containerization:** Docker, docker-compose
- **Translations:** Flask-Babel, editable `.po` files in `steam-translations/`
- **Translations:** Flask-Babel, editable `.po` files in `translations/`
## 🌍 Multi-language
- Switch between English and German using the dropdown in the navigation bar.
- All game and menu texts are translated.
- You can add more languages by editing the `.po` files and running `./translate.sh`.
- All game and menu texts can be translated or individualized.
## 🔔 Notifications
- Send notifications if a game has to be redeemed by a specific date
- Gotify, Matrix and Pushover are already available - have a look into the .env file
- 48 hours before you are running out of time the app will send you a notice
---
## 🪙 Do you this project? 🪙
If youd like to support itme, you can make a donation here:
[![Ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/nocci)
[![Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/nocci/donate)
Thank you!
---
## 🙌 Contribute! 🙌
This project is open source and thrives on your help!
This project is open source!
- **Bug Reports:** Please report bugs as Issues.
- **Feature Requests:** Suggest new features!
- **Pull Requests:** Submit your code changes!
// **only possible after Forgejo opens for federation** \\\
---
## 📜 License 📜
@ -124,4 +177,4 @@ A big thank you to everyone who supports and contributes to this project!
---
**Enjoy your organized Steam key collection!** 🚀
**Enjoy your organized Game key collection!** 🚀