GTFR-CG is a React-Python web application that generates content serving the creation and publication of Genius traductions françaises YouTube videos.
- Generate artwork, lyrics cards and YouTube descriptions that can then be edited into translation videos.
- Save time by interacting with the APIs of iTunes and Genius to automate parts of the edition process!
- One day, maybe one day, this application maybe even be able to generate whole videos by itself...
The application was thought, designed, programmed and crafted by Frenchmen 🇫🇷 @Thomas-Fernandes and @QuentindiMeo.
Disclaimer: the creators of this application do not claim any rights on the brands at play. All rights belong to their respective owners.
This application was tested on, and designed for Windows 11 and Ubuntu 22.04.
All the required back end modules are listed in the requirements file. They will be installed upon launch of the back end.
All the required front end software and modules can be installed by running the installer file with Python.
Caution
GTFR-CG's back end is written in Python 3.11. It is compatible with later versions, but not with anterior versions.
You can check your Python version by running python --version
in your terminal.
Important
In order for GTFR-CG's lyrics fetch feature to work, you need to declare a GENIUS_API_TOKEN
variable in the .env
file at the root of the repository.
Find more information about it by reading through the tutorial .env file.
Without this token, the GTFR-CG application will still run, but the lyrics fetch feature will be disabled.
🗜️ Build
python installer.py # will install back end modules, front end software & modules
🚀 Launch
Back end:
python launcher.py # will check needed modules and install, then launch the application
Front end:
cd front-end/ && npm run dev # will launch the front end of the application
📑 General Information
- By default, the application runs locally on ports 8000 (back) and 4242 (front).
- The API's documentation can be accessed @ http://localhost:8000/docs.
- The application features 6 major pages:
- Home: the main page, where your statistics are displayed and you can navigate to Artwork Generation and Lyrics.
- Tests : the unit tests page, to check the application's integrity.
- Artwork Generation: the page where you can generate artwork from a local file or an iTunes search.
- Processed Images: the page where you can download a background image and a YouTube thumbnail.
- Lyrics: the page where you can fetch lyrics from Genius and convert them to lyrics blocks.
- Cards Generation: the page where cards are generated from the Lyrics text blocks.
- The application features a toast notification system that will give you feedback upon actions.
- Most of the application's back end actions and reactions will be logged in the terminal via Python.
- You can define a minimum severity level in the
.env
file, choosing the logger verbosity's. Check out.env.example
for more information.
- You can define a minimum severity level in the
- Your user statistics are stored at the root of the repository in a file named
stats.json
. - If you encounter external Python module issues, try running
pip install -r requirements.txt --force-reinstall
for a complete reinstall.
Note
Report any kind of malfunction or request a feature by opening an issue!
- [1.0.0] May 09 2024: Hello World! — Project creation.
- [1.0.1] Jun 23 2024: @QuentindiMeo joins the project. Project starts. #001
- [1.1.0] Jun 23 2024: Welcome — Project now supports artwork generation from a local file.
- [1.1.1] Jun 24 2024: Project gets a new visual appearance. #005
- [1.2.0] Jun 27 2024: Thumbnails — Project now supports artwork generation from iTunes. #010
- [1.2.1] Jun 29 2024: Project now generates thumbnails with 9 possible logo positions. #022
- [1.2.2] Jul 04 2024: Project now has a Python logger, navigation, better GitHub QoL. #046
- [1.2.3] Jul 06 2024: Project now supports artwork generation without center artwork, has statistics and gets reworked... #059
- routes are reworked and redirection is implemented
- toasts are implemented as a feedback system of web actions
requirements.txt
and this README are created
- [1.2.4] Jul 20 2024: Project now supports artwork generation from a YouTube link, gets some more reworks. #086
- a loading spinner now comes alongside action buttons
- documentation strings are added to the codebase
- the artwork generation page is reworked to welcome YT section and better UX
- the logger system is reinforced to log more actions and be customizable
- [1.3.0] Aug 19 2024: Lyrics Fetch — Project now supports lyrics fetching from Genius and their conversion to lyrics blocks. #089
- [1.4.0] Sep 17 2024: Lyrics Cards — Project now supports automatic cards generation from text blocks. #093
- [1.4.1] Sep 29 2024: Cards can now be generated manually, improved QoL in card content creation. #120
- [1.4.2] Oct 24 2024: The API is now fully documented with Flask-RESTx & Swagger. #139
- [1.4.3] Oct 26 2024: Cards can now be generated with full customization and edited in real time. #140
- [1.4.4] Oct 29 2024: All major European and Asian fonts are now handled, back end functional logic is reinforced. #152
- [1.5.0] Coming later...: Boost! — Project will see its existing functionalities sharpened. #???
- [1.6.0] Coming later...: Koh-Lanta — Project will be unified in an all-in-one application. #???
- [2.0.0] Coming later...: Endgame — Project will feature automated video edition with AI sync. #???