The Automated Newsletter Generator allows users to effortlessly create newsletters on any topic, leveraging online content. The application utilizes the OpenAI API for content generation and the Serper API for online content search. Users can input a topic of interest, and the application will generate a curated newsletter based on relevant online articles. Additionally, users can edit the generated content, input a list of email addresses, and send the newsletter directly from the application.
To replicate the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/george-mountain/Automated-Newsletter-Generation-APP.git
-
Navigate to the project directory:
cd Automated-Newsletter-Generation-APP
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # For Linux/Mac # or .\venv\Scripts\activate # For Windows
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.env
file and add your API keys following the example in.env-sample
file in this repo.
Run the application using the following command:
streamlit run app.py
Visit the displayed URL in your web browser to access the application.
- Enter the desired topic in the text input field.
- Click the "Generate Newsletter" button to initiate the content generation process.
- Enter a list of email addresses, one per line, in the provided text area.
- Click the "Send Email" button to send the generated newsletter to the specified email addresses.
Obtain the necessary API keys to enable content generation and online searching:
- OpenAI API Key: Get OpenAI API Key
- Serper API Key: Sign up for Serper API
This project is licensed under the MIT License - see the LICENSE file for details.