A full-stack image colorization system: Seamlessly upload, process, and manage images with modular, scalable technologies.
- Features
- Tech Stack
- Architecture
- Getting Started
- Project Structure
- API Overview
- Contributing
- License
- Drag-and-drop or file upload for original images
- AI-powered image colorization using deep learning models
- View original & colorized images seamlessly
- Metadata management for all uploads (filename, timestamps)
- Scalable, modular architecture—backend, database, and colorization run independently
- Frontend: React
- Component-based UI, asynchronous API interactions
- Backend API: Java Spring Boot
- Handles file uploads, REST API, security, metadata persistence
- Database: MySQL
- Stores metadata: filename, timestamps, etc.
- Image Processor: Python Flask + OpenCV
- Exposes REST API, runs AI model for colorization
Work flow:
- User uploads image on frontend
- Spring Boot receives, saves metadata, forwards image to Flask service
- Flask processes, returns colorized image
- Spring Boot sends colorized image back to frontend
- All upload/processing steps recorded in metadata
git clone https://github.com/AbhiramNU/ColorCraft.git
- Frontend:
cd reactapp npm install - Backend (Spring Boot):
- Ensure Java 11+
- Python (Flask Service):
cd python-colorizer pip install -r requirements.txt
Edit src/main/resources/application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/colorizer_db
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
- Start MySQL server
- Run Flask colorizer
python app.py - Run Spring Boot backend
mvn spring-boot:run - Run React frontend
npm start
| Endpoint | Method | Description | Request | Response |
|---|---|---|---|---|
/api/colorize |
POST | Upload image, get colorized result | multipart file upload | image/jpeg |
We welcome feedback, bug reports, and feature requests! Want to add new models or UI improvements? Fork and submit a PR.
- Fork the repository
- Clone your fork
- Create a feature branch
- Commit changes and push
- Open a pull request
MIT License — see LICENSE for details.



