# 🔑 Game Key Manager 🔑 ## 👋 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! You can even gift your keys via a unique 24-hour website link – just mark a game as "Gifted" and copy the link from your overview. (HTTPS recommended) ![Screenshot](GameManager.png) --- ## ✨ Features ✨ - **Key Management:** Enter your game keys, platform, source, and more. - **Status Tracking:** Mark keys as "Redeemed", "Gifted", or "Available". - **Steam Cover & Shop Info:** Provide the Steam AppID and get the official game cover. Add shop URLs too. - **Game Descriptions & Prices:** Automatically fetch game descriptions, current best prices, and historical lows from [IsThereAnyDeal](https://isthereanydeal.com/) (API key required). - **Gifting:** Create a one-time gift link for each game that expires after 24 hours. - **Search Functionality:** Quickly find games with an integrated search bar. - **Multi-user Support:** Each user manages their own keys. - **User Roles:** The first registered user becomes an admin automatically. - **Admin Area:** Admins can reset passwords, delete users, and view audit logs. - **Audit Logs:** Track user logins, password resets, and deleted accounts. - **Registration Toggle:** Enable or disable user registration via the `.env` file. - **Responsive UI:** Fully functional on desktop and mobile with Dark Mode support. - **Multi-language:** Switch between English and German on the fly. - **Import/Export (CSV, PDF export):** Import/export your game keys easily. - **Password Management:** Users can change their passwords directly. - **Notifications:** Get alerts for expiring keys via Gotify, Matrix, or Pushover. - **Security Settings:** Toggle CSRF protection and secure cookies in `.env`. - **Self-hosted:** No data leaves your server. --- ## 📱 Installable PWA Game Key Manager now includes full Progressive Web App (PWA) support! - Install the app on your desktop or mobile device with one click. - Enjoy a native-app-like experience with offline access to previously loaded content. - Add it to your home screen or applications for quicker access. No setup required — just open the site in a modern browser (like Chrome, Edge, Firefox or Safari) and look for the install prompt or browser menu option to "Install App". --- ## 🚀 Get Started ### 1. Clone the Repository ```bash git clone https://codeberg.org/nocci/GameKeyManager ``` Alternative: ```bash git clone https://git.nocci.it/nocci/GameKeyManager ``` ### 2. Setup Docker Make sure Docker and docker-compose are installed. If not, the setup script can guide you (Arch-based distros may vary). ### 3. Initial Setup ```bash chmod +x setup.sh ./setup.sh ``` ### 4. Build and Start the App ```bash cd steam-gift-manager/ docker-compose build --no-cache docker-compose up -d ``` ### 5. Configure `.env` File Adjust your settings: ```env SESSION_COOKIE_SECURE="True" # Only works with HTTPS CSRF_ENABLED="True" ITAD_API_KEY="your_api_key" # Optional, for price data ``` Apply changes after editing: ```bash docker-compose down && docker-compose up -d --build ``` ### 6. Translate (optional) ```bash ./translate.sh ``` Edit the `.json` files in `translations/`, then restart: ```bash docker-compose down && docker-compose up -d --build ``` ### 7. Access the App Visit [http://localhost:5000](http://localhost:5000) Register the first user – this account becomes the admin! --- ## 🔔 Notifications (optional) - Reminders for expiring keys (48h notice) - Pushover, Matrix, Gotify and more are supported through AppRise - Configurable via `.env` --- ## 🛠️ Tech Stack - **Frontend:** Bootstrap 5, Jinja2, ... - **Backend:** Python 3, Flask, Flask-SQLAlchemy, ... - **Database:** SQLite - **Container:** Docker, docker-compose --- ## 💬 Contribute Contributions are welcome: - Report bugs - Suggest features - Submit Pull Requests --- ## 🪙 Support Like the project? You can support me: [![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) --- ## 📜 License Licensed under [Apache License 2.0](LICENSE). --- **Enjoy managing your game collection!**