Welcome to the FunLearn Projects Hub!
This repository houses a collection of diverse programming projects created for both fun and learning purposes.
The primary aim of these projects is to learn, experiment, and apply newfound knowledge in a practical manner. By sharing these projects openly, I hope to inspire, teach, and collaborate with fellow developers and enthusiasts in the programming community.
-
Language: Python
-
Description: Searches for flight deals in the next 6 months and sends an alert via email if a cheap flight is found, similar to services like https://jacksflightclub.com/.
-
Requirements:
- Google Sheet: Use https://sheety.co/ to update
SHEETY_PRICES_ENDPOINTindata_manager.py. - Kiwi Partners Flight Search API: Sign up for the free Tequila API at https://tequila.kiwi.com/portal/login to obtain the
TEQUILA_API_KEYused inflight_search.py. - Sending Email with smtplib: Update
notification_manager.pyto configure email sending. Refer to thesmtplibdocumentation.
- Google Sheet: Use https://sheety.co/ to update
-
To Run:
- Create a .env file and update all required API keys, mail configurations, and sensitive data as specified in comments at the start of each file.
- Execute
main.py. - For automated runs, deploy the code to a cloud platform like PythonAnywhere.com and schedule
main.py. For manual runs, executemain.py.
-
Note: Ensure you update the necessary API keys and configurations in the .env file before running the code.
- Language: Python
- Description: Automates tracking Amazon prices daily and sends email notifications when the price changes.
- To Run: Upload this to a cloud platform like PythonAnywhere.com and set a scheduled command for daily execution. Update
notification_manager.pyusingsmtplibfor email notifications. Refer to thesmtplibdocumentation. To manually run, updatenotification_manager.pyand executemain.py. - Note: Ensure to input your own email credentials and configure the notification settings before running.
- Language: Python
- Description: A bot designed to gain more Instagram followers by following people from an account with similar topics. For instance, if the account is about space, the bot follows people who follow NASA, potentially attracting more users to the account.
- To Run: Update
InstaFollower.pywith your Instagram account details and the account with a similar topic. Executepython main.py. - Note: Instagram regularly updates its website, leading to potential changes in CSS Selectors and XPATH. Ensure you may need to adjust them accordingly
- Language: Python
- Description: The famous study-timer-pomodoro.
- To Run: Execute
python main.py
- Language: Python
- Description: A program aiding in learning new words for The Psychometric Entrance Test using flashcards. Utilizes tkinter to display cards in English for 3 seconds, then reveals the translation in Hebrew. Allows removal of known words and creates a new CSV file to exclude known words on subsequent runs.
- To Run: Execute
python main.py
-
Language: Node.js
-
Description: This project generates a QR code image and a
url.txtfile based on the user’s inputted URL. -
To Run:
- Navigate to the project directory:
cd QRCodeGenerator - Install the required dependencies:
npm install
- Run the script:
node index.js
- Enter a URL when prompted. The QR code image (
qr-code-img.png) and the URL file (url.txt) will be generated in the directory.
- Navigate to the project directory:
-
Note: The
node_modulesfolder is not included in the repository. Ensure you runnpm installto install the required dependencies based onpackage.jsonandpackage-lock.json.
- Language: Python
- Description: Takes 10 True/False quiz questions about computer science from the Open Trivia Database API.
- To Run: Execute
python main.py
- Language: Python
- Description: Saves website, username/email, and password data. Allows generation of hard passwords and provides an option to search for username/email and password by website.
- To Run: Execute
python main.py
- Language: Python
- Description: Calculates individual payments including tips when going out with friends.
- To Run: Execute
python tip_calculator.py
- Language: Python
- Description: Automates create similar letters to multiple recipients.
- To Run: Execute
python main.py
- Languages: HTML, CSS
- Description: Reproduction of a famous spectrum design.
- To Run: Open
spectrum.html
- Language: Python
- Description: Encrypts and decrypts messages using the Caesar cipher.
- To Run: Execute
python caesar_cipher.py
- Language: Python
- Description: Generates an art piece resembling a Hirst painting using dots.
- To Run: Execute
python hirst_painting.py
- Language: Python
- Description: Converts words into their NATO phonetic alphabet equivalents.
- To Run: Execute
python main.py
- Languages: Bash, Linux CLI
- Description: A growing collection of scripts, notes, and exercises to learn Linux and automate real-world tasks. Includes a deploy script for Django apps like Volunteen and covers topics like file permissions, cron jobs, parsing logs, and more.
- To Explore:
- Navigate to the
Linux-Bash-Automationfolder. - See
README.mdinside for full breakdown, progress, and scripts.
- Navigate to the
To get started with these projects, follow these steps:
-
Clone the repository:
git clone https://github.com/Ahmad-danaf/FunLearn-Projects-Hub.git
-
Navigate to the specific project directory:
cd project_directory -
Follow the instructions provided in each project's README or code comments to run the project.
For example:
-
For the Flight Deal Finder:
- Run
main.pyas explained in the project folder.
- Run
-
For the QRCodeGenerator:
- Run
node index.jsin the QRCodeGenerator directory.
- Run
-
For the Spectrum:
- Open
spectrum.htmlin a web browser.
- Open
Repeat these steps for each project you want to explore or run.
Feel free to contribute, suggest improvements, or use these projects for learning purposes. Contributions from fellow developers are highly welcomed and appreciated!