Unlock the power of Midjourney with a beautiful and user-friendly interface. Create stunning visuals with ease, no AI or prompt engineering expertise required
- AI-generated posters
- Custom poster generation based on user input
- User accounts with authentication and personalization
- Social features such as likes, follows, and sharing
- Secure payment processing with Stripe
- 🎨 Frontend: Next.js v13 (app directory), React.js v18
- ⚙️ Backend: Next.js serverless functions (Route handlers)
- 💅 Design system: Tailwind CSS v3
- 🧩 UI components: Radix UI components designed by shadcn
- 📚 UI Icons: Lucide
- 📝 Forms: React Hook Form
- 🎬 Animations & Transitions: Framer Motion
- 🔥 State management: Zustand
- 📡 Client-side API calls: React Query v4
- 🗄️ Database ORM: Prisma v4
- 🔐 Authentication: NextAuth.js v4
- 💳 Payment processing: Stripe
- 🚀 Content Delivery System (CDN): Vercel
- 🐘 Database: PostgresSQL hosted on Railway
- 📚 Language: TypeScript
- 🧹 Linting & Formatting: ESLint + Prettier
- Clone the repository:
git clone https://github.com/flosrn/myposter.ai.git
- Change to the project directory:
cd myposter.ai
- Install dependencies:
pnpm install
- Copy the `.env.template` file and rename it to `.env`:
cp .env.template .env
- Generate a
NEXTAUTH_SECRET
using a random string generator or a password manager. You can also generate one using a command like:
openssl rand -base64 32
-
To obtain
GOOGLE_CLIENT_ID
andGOOGLE_CLIENT_SECRET
, follow these steps:- Go to the Google Developer Console
- Create a new project or select an existing one
- Click on "Credentials" in the left-hand menu
- Click on "Create credentials" and select "OAuth client ID"
- Choose "Web application" as the Application type
- Set the "Authorized JavaScript origins" to
http://localhost:3000
for local development - Set the "Authorized redirect URIs"
to
http://localhost:3000/api/auth/callback/google
- Click "Create" to generate your
GOOGLE_CLIENT_ID
andGOOGLE_CLIENT_SECRET
-
For the rest of the environment variables, such as
DATABASE_URL
, Stripe-related variables, and Uploadcare, please send DM to the main maintainer of the project (flosrn). -
Run the development server:
pnpm dev
Open http://localhost:3000 with your browser to see the result.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.