Art Bloom (Formely Art Gallery) is a full-stack digital art marketplace and exhibition platform where artists can upload their artworks and customers can explore, discover, and purchase them seamlessly.
The platform combines a modern MERN stack architecture with mobile and web applications, enabling users to browse art, follow artists, upload artwork, and complete purchases securely.
It integrates a React + Tailwind frontend, Node.js + Express backend, MongoDB database, Cloudinary image hosting, and Firebase authentication to deliver a scalable and responsive art marketplace.
- Firebase authentication for frontend login/signup
- JWT-based authentication for backend API security
- Role-based access control (User / Artist / Admin)
- Secure protected routes using middleware
-
Artists can upload artwork with:
- Title
- Description
- Price
- Image
-
Images stored securely using Cloudinary
-
Artworks retrieved through dedicated controllers and routes
- Add/remove artworks from cart
- Secure checkout system
- Order tracking and order history
- Managed via Order and CartItem models
- Backend payment services
- Secure payment validation workflow
- Controllers and services handling payment processing
- Order confirmation emails
- User update notifications
- Implemented using Nodemailer
-
Responsive UI built with React + Tailwind CSS
-
Core pages include:
- Discover Art
- Artist Upload
- Sell Artwork
- Cart
- Checkout
- Login
-
Reusable UI components:
- Navbar
- Footer
- Hero Section
- Feature sections
-
Global state management using React Context API
-
Custom hooks for responsive UI and notifications
- React (Vite)
- Tailwind CSS
- Context API
- Firebase Authentication
- Custom Hooks
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- Cloudinary (image hosting)
- Nodemailer (email services)
- React Native (Expo)
- Uses the same backend APIs as the web application
artgallery/
│
├── backend/ # Node.js + Express backend
├── project/ # React web application
├── mobile/ # React Native mobile app
│
├── docs/ # Project documentation
├── public/ # Static assets
├── src/ # Core application source files
│
├── package.json
└── README.md
backend/
│
├── config/ # Database and Cloudinary configuration
├── controllers/ # Business logic for users, artworks, orders
├── middleware/ # Auth middleware, error handling, uploads
├── models/ # MongoDB schemas (User, Artwork, Order, CartItem)
├── routes/ # API route definitions
├── services/ # Email, payment and upload services
├── utils/ # Utility helpers (token generation, validation)
project/
│
├── components/ # Reusable UI components
├── contexts/ # Global state management
├── firebase/ # Firebase configuration
├── hooks/ # Custom React hooks
├── pages/ # Application pages
├── lib/ # Frontend utilities
│
├── App.jsx
└── main.jsx
| Account Creation | Sign-in | Terms & Conditions |
|---|---|---|
![]() |
![]() |
![]() |
| Home Page | Discover | View Artwork |
|---|---|---|
![]() |
![]() |
![]() |
| Upload Artwork | Cart | Checkout |
|---|---|---|
![]() |
![]() |
![]() |
git clone https://github.com/AsifAlthaf/artgallery.git
cd artgallery
cd backend
npm install
Create .env
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUDINARY_API_KEY=your_key
CLOUDINARY_API_SECRET=your_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
EMAIL_USER=your_email
EMAIL_PASS=your_password
Run backend
npm start
or
npm run dev
cd project
npm install
npm run dev
Open:
http://localhost:5173
cd mobile
npx expo start
This repository integrates Model Context Protocol (MCP) to stream documentation updates using an SSE server.
{
"servers": {
"artgallery Docs": {
"type": "sse",
"url": "https://gitmcp.io/AsifAlthaf/artgallery/"
}
}
}
This allows real-time streaming of project documentation.
Download APK:
https://expo.dev/accounts/asif_shaik/projects/artbloom-mobile/builds/57c5deee-7038-4569-9d10-c05f0bc29a75
Install the APK and create an account.
https://art-bloom.onrender.com
Open the backend URL once to wake up the server before using the app.
All project documentation is available in the docs/ folder and streamed via MCP integration.
- Admin dashboard for monitoring users, artworks, and orders
- Artwork review and rating system
- Advanced search and filtering (category, price, artist)
- Multi-payment gateway support
- CI/CD deployment pipeline
- Machine learning integration for digital image security and monitoring
- Fork the repository
- Create a branch
feature/your-feature
- Commit changes
- Push to your fork
- Open a Pull Request
Asif Althaf BTech, SRM University
Rohini Sai BTech, SRM University
GitHub








