Skip to content

A full-stack AI-powered chat application built with Google's Gemini API, featuring both web and mobile clients with a robust Node.js backend.

License

Notifications You must be signed in to change notification settings

abhishekboadgurjar/AI-Chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI Chat πŸ€–πŸ’¬

A full-stack AI-powered chat application built with Google's Gemini API, featuring both web and mobile clients with a robust Node.js backend.

🌟 Features

  • Multi-platform Support: Web application and mobile app (iOS/Android)
  • AI-Powered Conversations: Integrated with Google Gemini API for intelligent responses
  • Real-time Chat: Seamless messaging experience across platforms
  • Responsive Design: Optimized for desktop and mobile devices
  • Cross-platform Compatibility: Shared codebase for mobile platforms using React Native

πŸ—οΈ Architecture

ai-chat/
β”œβ”€β”€ web-client/          # React web application
β”œβ”€β”€ app-client/          # React Native Expo mobile app
β”œβ”€β”€ server/              # Node.js backend server
└── README.md

πŸš€ Tech Stack

Frontend

  • Web Client: React.js
  • Mobile Client: React Native with Expo
  • Styling: CSS/Styled Components

Backend

  • Server: Node.js
  • API Integration: Google Gemini API
  • Runtime: Express.js (assumed)

External Services

  • AI Provider: Google Gemini API

πŸ“‹ Prerequisites

Before running this application, make sure you have:

πŸ› οΈ Installation & Setup

1. Clone the repository

git clone https://github.com/abhishekboadgurjar/ai-chat.git
cd ai-chat

2. Server Setup

cd server
npm install

# Create environment file
cp .env.example .env

# Add your Gemini API key to .env
GEMINI_API_KEY=your_gemini_api_key_here
PORT=3000

3. Web Client Setup

cd ../web-client
npm install

4. Mobile App Setup

cd ../app-client
npm install

# For iOS (macOS only)
npx pod-install ios

πŸš€ Running the Application

Start the Server

cd server
npm start
# Server will run on http://localhost:3000

Start the Web Client

cd web-client
npm start
# Web app will run on http://localhost:3001

Start the Mobile App

cd app-client
npm start
# or
expo start

# Then use Expo Go app to scan QR code
# or run on simulator/emulator
npx expo run:ios     # for iOS
npx expo run:android # for Android

🌐 API Configuration

Environment Variables

Create a .env file in the server directory:

GEMINI_API_KEY=your_gemini_api_key_here
PORT=3000
NODE_ENV=development

# Optional: Database configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=ai_chat

Getting Gemini API Key

  1. Visit Google AI Studio
  2. Create a new API key
  3. Copy the key to your .env file

πŸ“± Platform Support

Web Client

  • βœ… Chrome, Firefox, Safari, Edge
  • βœ… Responsive design for mobile browsers
  • βœ… Progressive Web App features

Mobile App

  • βœ… iOS (iPhone/iPad)
  • βœ… Android
  • βœ… Cross-platform native performance

πŸ”§ Development

Project Structure

web-client/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/      # Reusable UI components
β”‚   β”œβ”€β”€ pages/          # Page components
β”‚   β”œβ”€β”€ services/       # API services
β”‚   └── utils/          # Utility functions

app-client/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/     # React Native components
β”‚   β”œβ”€β”€ screens/        # Screen components
β”‚   β”œβ”€β”€ services/       # API services
β”‚   └── navigation/     # Navigation setup

server/
β”œβ”€β”€ routes/             # API routes
β”œβ”€β”€ controllers/        # Route handlers
β”œβ”€β”€ middleware/         # Custom middleware
└── utils/              # Server utilities

Available Scripts

Server

npm start          # Start production server
npm run dev        # Start development server with hot reload
npm test           # Run tests

Web Client

npm start          # Start development server
npm run build      # Build for production
npm test           # Run tests

Mobile App

npm start          # Start Expo development server
npm run build      # Build for production
npm test           # Run tests

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

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

πŸ™‹β€β™‚οΈ Author

Abhishek Boadgurjar

πŸ› Issues

If you encounter any issues or have suggestions, please create an issue.

⭐ Show your support

Give a ⭐️ if this project helped you!


Built with ❀️ using React, React Native, Node.js, and Google Gemini API

About

A full-stack AI-powered chat application built with Google's Gemini API, featuring both web and mobile clients with a robust Node.js backend.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •