# 🔑 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! 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 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. - **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*. - **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)~~ - ~~Redeem site with unique sharing link~~ --- ## 🚀 Get Started! 🚀 ### 1. **Clone the Repository** ```bash git clone https://git.nocci.it/nocci/GameKeyManager ``` ### 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** ```bash chmod +x setup.sh ./setup.sh ``` This script prepares all directories, configuration, and translation files. ### 4. **Build and Start the App** ```bash cd steam-gift-manager/ docker-compose build --no-cache docker-compose up -d ``` ### 5. **Edit your .env file to your liking** It's in your root folder of the installation! ```xml # Security 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 translations/de_DE/LC_MESSAGES/messages.po and en_US/LC_MESSAGES/messages.po ```bash ./translate.sh cd steam-gift-manager/ docker-compose down && docker-compose up -d --build ``` ### 7. **Open the App** Go to [http://localhost:5000](http://localhost:5000) in your browser. - Register your first user. - 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 ... - **Database:** SQLite (persisted in `data/`) - **Containerization:** Docker, docker-compose - **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 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 you’d 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! - **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 📜 This project is licensed under the [Apache License 2.0](LICENSE). --- ## 💖 Acknowledgements 💖 A big thank you to everyone who supports and contributes to this project! --- **Enjoy your organized Game key collection!** 🚀