:scroll: Genius traductions françaises Content Generator :film_strip:
The technical stack at play:
| formerly:
:memo: Description
GTFR-CG is a React-Python web application that generates content serving the creation of Genius traductions françaises YouTube videos.
Generate artwork and lyrics cards 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...
Disclaimer: the creators of this application do not claim any rights on the Genius, iTunes or YouTube brand. All rights belong to their respective owners.
:gear: Requirements
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.
:movie_camera: Usage
:clamp: Build
python installer.py # will install back end modules, front end software & modules
:rocket: 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
:bookmark_tabs: General Information
- By default, the application runs locally on ports 8000 (back) and 4242 (front). Access it @ http://localhost:4242.
- The application features 6 major pages:
- [x] Home: the main page, where your statistics are displayed and you can navigate to Artwork Generation and Lyrics.
- [x] Tests : the unit tests page, to check the application's integrity.
- [x] Artwork Generation: the page where you can generate artwork from a local file or an iTunes search.
- [x] Processed Images: the page where you can download a background image and a YouTube thumbnail.
- [x] Lyrics: the page where you can fetch lyrics from Genius and convert them to lyrics blocks.
- [x] Cards Generation: the page where cards are generated from the Lyrics text blocks.
- You can navigate between pages using the navigation buttons at the top of each page.
- The application features a toast notification system that will give you feedback on your unsuccessful 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.
- 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!
:card_file_box: Changelog
- *[1.0.0]* May 09 2024: Hello World!** — Project creation.
- *[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.3.1]* Aug 19 2024: Project's front end is fully migrated to React Typescript with Vite**. #088
- [1.3.2] Sep 14 2024: Project now has a unit tests page, better .env handling with a tutorial file. #092
- *[1.4.0]* Sep 17 2024: Lyrics Cards** — Project now supports automatic cards generation from text blocks. #093
- [1.4.1] Sep ?? 2024: Cards can now be generated manually, improved QoL in card content creation. #???
- [1.4.2] Oct ?? 2024: Cards can now be generated using a manual background and/or customized color palette. #???
- *[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. #???
Back to top