Welcome to the Email Builder project! This full-stack web application allows users to create customizable email templates easily, even if they have no technical background. Built using the MERN stack (MongoDB, Express.js, React, Node.js), this app provides a seamless experience for designing and managing email templates.
- User-Friendly Interface: Intuitive design for easy navigation and template creation.
- Dynamic Editing: Modify text fields such as Title and Content directly in the editor.
- Image Upload: Seamlessly upload images to enhance your email templates.
- JSON Storage: Store email configurations in a structured JSON format.
- Template Rendering: Generate and download the final HTML email template.
To get a local copy up and running, follow these simple steps.
Ensure you have the following installed:
- 🟢 Node.js
- 🗄️ MongoDB
- 🛠️ Git
-
Clone the repository:
git clone https://github.com/imoamo/Email-Builder.git cd Email-Builder -
Create a
.envfile in theserverdirectory and fill in the following:PORT=5000 MONGO_URI=your_mongo_uri CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_nameReplace the placeholders with your actual credentials.
-
Install server dependencies:
cd backend npm install -
Start the development server:
-
In the
terminaldirectory, run:npm run dev
-
-
Access the application:
Open your browser and navigate to
http://localhost:${port}.
- Load Template: Fetch the base HTML layout from the server.
- Edit Content: Use the editor to modify text fields and upload images.
- Save Configuration: Store your email template configuration in the database.
- Render & Download: Generate the final HTML file with your customizations.
- GET /getEmailLayout: Retrieve the HTML layout.
- POST /uploadImage: Upload image assets.
- POST /uploadEmailConfig: Save the email template configuration.
- POST /renderAndDownloadTemplate: Generate and download the customized HTML template.
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request