Skip to content

ClickGPT is an AI-powered app combining chat and image generation, built with Spring Boot and React.js for scalability and performance.

Notifications You must be signed in to change notification settings

siddharth-upadhyayula/ClickGPT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Introduction

ClickGPT is an AI-driven application that combines chat and image generation functionalities using modern web and backend frameworks. This repository contains a Spring Boot-based backend and a React-based frontend.

Features β€’ Chat Service: AI-powered conversational chatbot. β€’ Image Generation Service: AI-generated images based on user input. β€’ Scalable Architecture: Designed for performance and scalability. β€’ Modern UI: Intuitive user interface built with React.

Technologies Used β€’ Backend: β€’ Spring Boot β€’ Maven β€’ Java β€’ Frontend: β€’ React.js β€’ Node.js β€’ CSS β€’ Others: β€’ RESTful APIs

Directory Structure:

siddharth-upadhyayula-ClickGPT/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ mvnw
β”‚   β”œβ”€β”€ mvnw.cmd
β”‚   β”œβ”€β”€ pom.xml
β”‚   β”œβ”€β”€ .DS_Store
β”‚   β”œβ”€β”€ .gitignore
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”‚   β”œβ”€β”€ java/
β”‚   β”‚   β”‚   β”‚   └── com/sidupadhyayula/GenAI/
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ ChatService.java
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ GenAIController.java
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ GenAiApplication.java
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ ImageService.java
β”‚   β”‚   β”‚   β”‚       └── WebConfig.java
β”‚   β”‚   β”‚   └── resources/
β”‚   β”‚   β”‚       └── application.properties
β”‚   β”‚   └── test/
β”‚   β”‚       └── java/com/sidupadhyayula/GenAI/
β”‚   β”‚           └── GenAiApplicationTests.java
β”‚   └── .mvn/
β”‚       └── wrapper/
β”‚           └── maven-wrapper.properties
└── frontend/
    β”œβ”€β”€ README.md
    β”œβ”€β”€ package-lock.json
    β”œβ”€β”€ package.json
    β”œβ”€β”€ .gitignore
    β”œβ”€β”€ public/
    β”‚   β”œβ”€β”€ index.html
    β”‚   β”œβ”€β”€ manifest.json
    β”‚   └── robots.txt
    └── src/
        β”œβ”€β”€ App.css
        β”œβ”€β”€ App.js
        β”œβ”€β”€ App.test.js
        β”œβ”€β”€ index.css
        β”œβ”€β”€ index.js
        β”œβ”€β”€ reportWebVitals.js
        β”œβ”€β”€ setupTests.js
        └── components/
            β”œβ”€β”€ ChatComponent.js
            └── ImageGenerator.js

Setup Instructions

Prerequisites β€’ Java 17+ β€’ Node.js 18+ β€’ Maven 3.8+ β€’ Git

Backend Setup:

  1. Navigate to the backend/ directory:
cd backend
  1. Build the project using Maven:
./mvnw clean install
  1. Run the application:
./mvnw spring-boot:run
  1. The backend service will be available at http://localhost:8080.

Frontend Setup 1. Navigate to the frontend/ directory:

cd frontend
  1. Install dependencies:
npm install
  1. Start the development server:
npm start
  1. The frontend will be accessible at http://localhost:3000.

Backend Overview

The backend is built using Spring Boot and includes the following components:

Key Files β€’ ChatService.java: Handles chat-related logic. β€’ GenAIController.java: Manages REST endpoints for chat and image services. β€’ GenAiApplication.java: Main application class to bootstrap the Spring Boot application. β€’ ImageService.java: Contains logic for image generation. β€’ WebConfig.java: Configures CORS and other web settings.

Configuration: β€’ application.properties: Contains environment-specific configurations such as server ports and database details.

Frontend Overview

The frontend is built using React.js and includes reusable components for better scalability and modularity.

Key Files β€’ App.js: Entry point for the application. β€’ ChatComponent.js: Renders the chat interface. β€’ ImageGenerator.js: Allows users to generate AI-powered images. β€’ public/index.html: Base HTML file for the application.

Styling β€’ CSS files (App.css, index.css) provide consistent styling.

Contributing

  1. Fork the repository.
  2. Create a feature branch:
git checkout -b feature-name
  1. Commit your changes:
git commit -m "Add feature"
  1. Push to your fork:
git push origin feature-name
  1. Submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

This documentation provides a comprehensive overview of the ClickGPT repository, its structure, and how to set it up and contribute.

About

ClickGPT is an AI-powered app combining chat and image generation, built with Spring Boot and React.js for scalability and performance.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published