Imagify is a modern, AI-powered image generation web application. It allows users to bring their creative ideas to life by generating unique visuals from simple text prompts. Built with Next.js and styled with Tailwind CSS, it features a sleek, interactive, and responsive user interface.
- AI-Powered Image Generation: Convert text descriptions into stunning images.
- Customizable Output: Select the number of images to generate (from 1 to 4).
- Interactive UI: A beautiful and engaging user interface with smooth animations and modern design elements.
- Community Gallery: Browse through a masonry-style grid of images created by the community.
- Responsive Design: A seamless experience across all devices, from desktops to mobile phones.
- Loading Skeletons: Provides a better user experience while images are being generated.
- Framework: Next.js
- Styling: Tailwind CSS
- UI Components: React, Lucide React for icons, and custom animations.
- State Management: Zustand for simple, fast global state.
- ORM: Prisma for database access and management.
- Database: PostgreSQL (or your preferred SQL database compatible with Prisma).
- Language: TypeScript
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
- Node.js (v18 or newer)
- pnpm
-
Clone the repository:
git clone https://github.com/your-username/imagify.git cd imagify -
Install dependencies:
pnpm install
-
Set up environment variables: Create a
.envfile in the root of your project and add the necessary environment variables. You can use the.env.exampleas a template.DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DATABASE" # Add other environment variables for your AI service, etc. # e.g., OPENAI_API_KEY="your-api-key"
-
Run database migrations: This will set up your database schema based on the
prisma/schema.prismafile.pnpm prisma migrate dev
-
Run the development server:
pnpm dev
Open http://localhost:3000 with your browser to see the result.
Contributions are welcome! If you have suggestions for improving the project, please feel free to create an issue or submit a pull request.
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
