GenMeta is a full-stack application that automatically generates accurate titles, descriptions, and SEO-optimized keywords for images using advanced AI technology. The application consists of a Next.js frontend and a Node.js/Express backend.
The project is organized into two main directories:
- client: Next.js frontend application
- server: Node.js/Express backend API
The client is built with:
- Next.js 15 - React framework with App Router
- React 19 - UI library
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Unstyled, accessible UI components
- Authentication - User authentication
- Modern, responsive UI with dark/light mode
- Image upload and processing
- Metadata generation and editing
- Bulk operations for processing multiple images
- User authentication and role management
- Analytics dashboard
# Navigate to client directory
cd client
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Start production server
npm run start
Visit http://localhost:3000 to see the application.
The server is built with:
- Node.js - JavaScript runtime
- Express - Web framework
- MongoDB - Database
- Google Generative AI - AI for image analysis
- AWS S3 - Image storage
- RESTful API for image processing
- AI-powered image analysis and metadata generation
- User authentication with JWT
- File upload handling
- Image processing with Sharp and ExifTool
- S3 integration for image storage
# Navigate to server directory
cd server
# Install dependencies
npm install
# Create environment file
cp .env.sample .env
# Configure environment variables
# Edit .env with your specific configuration
# Start development server
npm run dev
# Start production server
npm start
Create a .env
file in the client directory with:
NEXT_PUBLIC_API_URL=http://localhost:3000/api
Create a .env
file in the server directory with appropriate values for:
PORT=5000
MONGODB_URI=
JWT_SECRET=
GOOGLE_API_KEY=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
AWS_BUCKET_NAME=
GenMeta is also available as a desktop application for Windows. You can download the latest version from the website.
This project is licensed under the MIT License.