Artflick is an AI-powered image generation platform that allows users to create and share stunning AI-generated artwork. The application is built using Spring Boot for the backend, React for the frontend, and Firestore for database management. Users can log in using Google OAuth2, generate images via Stability AI, and publish their creations to a public feed. Non-authenticated users can view and download images from the feed.
- AI Image Generation: Users can generate multiple AI-driven images based on Prompts.
- Image Selection: Choose your favorite image from a set of generated options.
- Public Feed: Publish and share your selected images on a public feed for everyone to view.
- User Profiles: Manage your created images, view your posts.
- JWT Security: Secure user data and authentication using JWT tokens.
- Downloadable Art: Public images are downloadable by any user, with or without an account.
- Frontend: React, Tailwind CSS
- Backend: Spring Boot, Java
- Database: Firestore
- Authentication: Google OAuth2, JWT
- AI: Stability AI
To run this project, you will need to add the following environment variables to your application.properties
file:
CLOUDINARY_CLOUD_NAME
CLOUDINARY_API_KEY
CLOUDINARY_API_SECRET
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
STABILITY_AI_API_KEY
- API Design: Ensured clear and consistent endpoint naming and HTTP methods to enhance usability and maintainability.
- Security: Implemented secure authentication and authorization practices, including OAuth2 for user login.