https://github.com/suraj-kumar00/pictora-ai
Build Pictora AI, a photo generator SAAS product
https://github.com/suraj-kumar00/pictora-ai
3-tier-architecture devops docker expressjs full-stack-application github-actions kubernetes nextjs photoai pictoraai postgresql
Last synced: 3 months ago
JSON representation
Build Pictora AI, a photo generator SAAS product
- Host: GitHub
- URL: https://github.com/suraj-kumar00/pictora-ai
- Owner: Suraj-kumar00
- Created: 2025-02-13T17:51:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-01T14:40:07.000Z (about 1 year ago)
- Last Synced: 2025-05-01T14:43:43.345Z (about 1 year ago)
- Topics: 3-tier-architecture, devops, docker, expressjs, full-stack-application, github-actions, kubernetes, nextjs, photoai, pictoraai, postgresql
- Language: TypeScript
- Homepage:
- Size: 385 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Pictora AI - Photo Generator
Pictora AI is a powerful AI image platform that lets you generate stunning images and train custom AI models. Built with cutting-edge technology, it enables users to create unique AI-generated artwork and train personalized models on their own image datasets. Whether you're an artist looking to expand your creative possibilities or a developer building AI-powered image applications, Pictora AI provides an intuitive interface and robust capabilities for AI image generation and model training.
## Tech Stack
- **Frontend**: Next.js 14 (App Router), TypeScript, Tailwind CSS, Shadcn/UI
- **Backend**: Node.js with TypeScript
- **Authentication**: Clerk
- **Containerization**: Docker
- **Package Management**: bun
- **Monorepo Management**: Turborepo
## DevOps practices
## CI/CD Architecture
## Project Structure
### Apps and Packages
- `web`: Next.js frontend application
- `backend`: Node.js backend service
- `@repo/ui`: Shared React component library
- `@repo/typescript-config`: Shared TypeScript configurations
- `@repo/eslint-config`: Shared ESLint configurations
## Getting Started
### Environment Setup
1. Create `.env` files:
```bash
# apps/web/.env.local
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_publishable_key
CLERK_SECRET_KEY=your_secret_key
NEXT_PUBLIC_BACKEND_URL=http://localhost:8000
```
## Installation steps for local developments
```bash
# Install dependencies
bun install
# Run development servers
bun run dev
# Build all packages
bun run build
```
## Features
- AI-powered image generation
- User authentication and authorization
- Image gallery with preview
- Download generated images
- Responsive design
## Development Commands
```bash
# Run frontend only
bun run start:web
# Run backend only
bun run start:backend
# Run both frontend and backend
bun run dev
```
## Installation with Docker in Seconds
### Environment Variables Required
```bash
# Frontend Environment Variables
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_Y2xlcmsuMTAweGRldnMuY29tJA
NEXT_PUBLIC_BACKEND_URL=http://localhost:8000
NEXT_PUBLIC_STRIPE_KEY=pk_test_51QsCmFEI53oUr5PHZw5ErO4Xy2lNh9LkH9vXDb8wc7BOvfSPc0i4xt6I5Qy3jaBLnvg9wPenPoeW0LvQ1x3GtfUm00eNFHdBDd
CLERK_SECRET_KEY=your_clerk_secret_key
# Backend Environment Variables
DATABASE_URL=supabase_db_url
```
### Docker Commands
```bash
# Navigate to docker directory
cd docker
# Build images
docker build -f Dockerfile.frontend -t pictora-ai-frontend ..
docker build -f Dockerfile.backend -t pictora-ai-backend ..
# Run frontend container
docker run -p 3000:3000 \
-e NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_Y2xlcmsuMTAweGRldnMuY29tJA \
-e NEXT_PUBLIC_BACKEND_URL=http://localhost:8000\
-e NEXT_PUBLIC_STRIPE_KEY=pk_test_51QsCmFEI53oUr5PHZw5ErO4Xy2lNh9LkH9vXDb8wc7BOvfSPc0i4xt6I5Qy3jaBLnvg9wPenPoeW0LvQ1x3GtfUm00eNFHdBDd \
-e CLERK_SECRET_KEY=your_clerk_secret_key \
pictora-ai-frontend
# Run backend container
docker run -p 8000:8000 \
-e DATABASE_URL=your_database_url \
pictora-ai-backend
```
## Project Structure
## Star the repo