Transform your stories into captivating comic art with dialogue effortlessly! Our project harnesses the power of GemeiAI and Stable Diffusion for processing and generating stunning images and dialogues. Utilizing feature flags, you can seamlessly toggle environment variables on and off as needed. The final masterpiece is delivered straight to your inbox as a beautifully crafted comic PDF. Enjoy the magic of storytelling in a whole new visual dimension! 📧💬🖼️
comic-cult.mov
Design | Link |
---|---|
Design 1 | 🔗 Link to Design 1 |
🖼️ Comic Art Generation | I wanted to create something fun that also provided a lot of learning opportunities. I used OpenAI's APIs and even utilized LangChain for some instances, but I wanted to take my project to the next level. I wanted to work with images, which led me to use Stable Diffusion models (which I had no idea how to use). I tried running the model locally and using Google Colab, but these approaches made me more perplexed. Eventually, I needed a Stable Diffusion API and key, which DreamStudio and Stability AI provided. |
🔧 Workflow/Pipeline Creation | Developing the workflow was probably the most challenging part. This pipeline is the backbone of the project. At one point, I was so confused that I wanted to abandon the project. However, I slowly worked on creating a streamlined flow for generating dialogues (with Gemini's help), obtaining images (using Stability API), and adding dialogues onto images (using Canvas). Ensuring that all these steps were reliable and smooth was crucial for providing a good user experience. |
💬 Using Promises | I had only heard and learned about promises but never utilized them in any of my projects until now. They were a lifesaver, helping me make the workflow better and more workable. Now, I want to use promises everywhere. I really got to understand promises, async/await, .then, and .catch. |
🚫 Failure of Express Functions and Integration of Nodemailer | I used Express for my backend to serve the front end through various routes. I never thought that res.sendfile and res.download would be so problematic. They are meant to send files from the backend to the frontend but were causing errors. I was considering abandoning this approach, but then Nodemailer came to mind. If Express functions didn't work, I planned to send the PDF to the user's email using Nodemailer, which proved to be extremely useful. In just a few minutes, I had it working. |
- Next.js - An open-source web development framework.
- TypeScript - A free and open-source high-level programming language.
- Tailwind CSS - A utility-first CSS framework for rapidly building modern websites.
- Daisy UI - Inbuilt Tailwind components.
- Express - Used to create server endpoints and serve the front end as needed.
- Flagsmith - Manage feature flags across web, mobile, and server-side applications.
- Gemini AI - Useful for making prompts and getting output.
- Nodemailer - Used to send mail or attachments programmatically.
- Turborepo - Incremental build system used for building monorepo projects.
Welcome to the Comic Cult project! Follow these steps to set up and run the project on your local machine.
Before you begin, ensure you have the following installed:
- Node.js (v14 or higher)
- npm (v6 or higher)
-
Clone the repository:
git clone https://github.com/Girishbari/comic-cult.git
-
Navigate to the project directory:
cd comic-cult
-
Install all dependencies:
npm install
-
Install Turbo globally (if not already installed):
npm install turbo --global
Before running the project, you may need to configure certain environment variables or settings. These configurations are typically found in .env
files within specific directories. Ensure that you review and update these configurations according to your environment.
To run the entire project, execute the following command:
turbo dev
This will start both the client and server components.
If you prefer to run individual components separately, follow these steps:
Navigate to the server directory and start the server:
cd apps/server && npm run dev
Navigate to the client directory and start the client:
cd apps/client && npm run dev
If you encounter any issues during setup or while running the project, refer to the project's issue tracker on GitHub or search for solutions online. Common issues and their resolutions may also be documented in the project's README or other documentation files.
For more detailed information about the project and its components, refer to the project's main documentation.
Before you begin, ensure you have the following installed:
- Node.js (v14 or higher)
- npm (v6 or higher)
-
Clone the repository:
git clone https://github.com/Girishbari/comic-cult.git
-
Navigate to the project directory:
cd comic-cult
-
Install all dependencies:
npm install
-
Install Turbo globally (if not already installed):
npm install turbo --global
Before running the project, you may need to configure certain environment variables or settings. These configurations are typically found in .env
files within specific directories. Ensure that you review and update these configurations according to your environment.
To run the entire project, execute the following command:
turbo dev
This will start both the client and server components.
If you prefer to run individual components separately, follow these steps:
Navigate to the server directory and start the server:
cd apps/server && npm run dev
Navigate to the client directory and start the client:
cd apps/client && npm run dev
If you encounter any issues during setup or while running the project, refer to the project's issue tracker on GitHub or search for solutions online. Common issues and their resolutions may also be documented in the project's README or other documentation files.
For more detailed information about the project and its components, refer to the project's main documentation.
Contributing to open-source software (OSS) projects can be a rewarding and fulfilling experience. Not only can you learn new skills, but you can also help make a valuable contribution to a project that benefits the broader community.
- Remember to read the [Code of Conduct](
CODE_OF_CONDUCT.md) before contributing.
- Read the Git Workflow to follow best practices.
- Follow the Contribution Guidelines.
- Create an issue to report bugs, vulnerabilities.
Thank you for visiting comic-cult! 💝
Feel free to explore the code, contribute, and provide feedback.
Distributed under the MIT License. See LICENSE
for more information.
A heartfelt thank you to everyone who has contributed to the growth of Comic-cult! Your time and efforts are deeply appreciated. Keep up the amazing work! 🙌