Your intelligent coding companion powered by multiple AI models
Features β’ Demo β’ Installation β’ Usage β’ Contributing
GlobalAssist is a modern, full-stack AI coding assistant that helps developers write code faster and smarter. With support for multiple AI models including GPT-3.5, GPT-4, and Claude, GlobalAssist provides intelligent code generation, explanations, and debugging assistance.
- No Login Required - Start coding immediately without creating an account
- Multi-Model Support - Choose from 6 different AI models (Claude, GPT, Gemini)
- Simple & Fast - JSON-based storage, no complex database setup
- OAuth Integration - Sign in with Google or GitHub in one click
- File Upload - Attach images, PDFs, and documents for context
- Chat History - Save and revisit your previous conversations
- Free to Use - Core features available for free
- GlobalAssist 4.5 (Claude Sonnet) - Fast and smart (Free)
- GlobalAssist Opus (Claude Opus) - Most intelligent (Pro)
- GPT-4 Turbo - OpenAI's flagship model (Pro)
- GPT-3.5 Turbo - Fast and efficient (Free)
- CodeLlama 34B - Open source code model (Free)
- Gemini Pro - Google's AI model (Pro)
- Email/Password registration and login
- Google OAuth integration
- GitHub OAuth integration
- Session-based authentication with JWT tokens
- Secure password hashing
- Simple JSON file storage (no database required)
- Chat history with search and filtering
- User profiles and preferences
- Subscription management
- Modern dark theme with amber accents
- Responsive design for all devices
- File upload with drag-and-drop
- Real-time code generation
- Syntax highlighting
- Copy to clipboard functionality
Home Page - Chat Interface
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β GlobalAssist [GPT-3.5 βΌ] βοΈ π€ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β π New chat β β
β π¬ Chats β Welcome to GlobalAssist! β
β π Projects β How can I help you code today? β
β π¦ Artifacts β β
β π» Code β β
β β [π] Type your message here... [Send] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Try it out: [Demo Link] (Add your deployed link here)
- Python 3.8 or higher
- pip (Python package manager)
- Node.js 16.0 or higher
- npm or yarn
- OpenAI API key (for GPT models)
- Anthropic API key (for Claude models)
- Google OAuth credentials (for Google login)
- GitHub OAuth app (for GitHub login)
# Clone the repository
git clone https://github.com/GitMehdi-sys/GlobalAssist.git
# Navigate to project directory
cd GlobalAssist# Navigate to backend folder
cd backend
# Create virtual environment (optional but recommended)
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Create .env file
cp .env.example .env
# Or on Windows:
copy .env.example .env
# Edit .env file and add your API keys
# nano .env (or use any text editor)Required .env variables:
FLASK_SECRET_KEY=your-secret-key-change-this
OPENAI_API_KEY=sk-your-openai-key-here
ANTHROPIC_API_KEY=sk-ant-your-anthropic-key-hereOptional OAuth (for social login):
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-secret
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-secret# Open a new terminal and navigate to frontend folder
cd frontend
# Install dependencies
npm install
# Start development server
npm run devTerminal 1 - Backend:
cd backend
python app.pyβ Backend running on http://localhost:5000
Terminal 2 - Frontend:
cd frontend
npm run devβ Frontend running on http://localhost:5173
Open your browser: http://localhost:5173
- Go to Releases
- Download the latest
GlobalAssist-vX.X.X.tar.gz - Extract and follow Step 2-4 above
- Go to https://platform.openai.com/
- Sign up or log in
- Go to API Keys section
- Click Create new secret key
- Copy the key (starts with
sk-) - Add to
backend/.env:OPENAI_API_KEY=sk-...
- Go to https://console.anthropic.com/
- Sign up or log in
- Go to API Keys
- Create new key
- Copy the key (starts with
sk-ant-) - Add to
backend/.env:ANTHROPIC_API_KEY=sk-ant-...
- Go to https://github.com/settings/developers
- Click New OAuth App
- Fill in:
- Application name: GlobalAssist
- Homepage URL: http://localhost:5173
- Authorization callback URL: http://localhost:5000/api/auth/github/callback
- Click Register application
- Copy Client ID and Client Secret
- Add to
backend/.env
- Go to https://console.cloud.google.com/
- Create new project or select existing
- Go to APIs & Services > Credentials
- Create OAuth 2.0 Client ID
- Application type: Web application
- Authorized redirect URIs: http://localhost:5000/api/auth/google/callback
- Copy Client ID and Client Secret
- Add to
backend/.env
-
Start Chatting - No login required!
- Open http://localhost:5173
- Type your question in the input box
- Click send or press Enter
-
Select AI Model - Click dropdown in top-right corner
- Choose from 6 available models
- Free models work without login
- Pro models require account
-
Upload Files - Click the paperclip icon (π)
- Upload images, PDFs, documents
- Provide context for your questions
- Files shown above input box
-
Save History - Sign in to save your chats
- Click "Sign In" in sidebar
- Create account or use OAuth
- Access history from sidebar
1. Click "Sign In" in sidebar
2. Click "Sign up"
3. Enter email, password, full name
4. Click "Create account"
1. Click "Sign In"
2. Click "Continue with Google" or "Continue with GitHub"
3. Authorize the application
4. Automatically redirected and logged in
1. Login to your account
2. Click "Chats" in sidebar
3. Browse your previous conversations
4. Click any chat to view details
GlobalAssist/
βββ backend/ # Flask Backend
β βββ app.py # Main application file
β βββ ai_generator.py # AI model integration
β βββ requirements.txt # Python dependencies
β βββ .env # Environment variables (create this)
β βββ data/ # JSON storage (auto-created)
β βββ users.json
β βββ sessions.json
β βββ history.json
β
βββ frontend/ # React Frontend
β βββ public/
β β βββ logo.png # GlobalAssist logo
β βββ src/
β β βββ components/ # Reusable components
β β β βββ Header.jsx
β β β βββ Sidebar.jsx
β β β βββ ChatMessage.jsx
β β β βββ Loader.jsx
β β βββ pages/ # Page components
β β β βββ Home.jsx
β β β βββ Login.jsx
β β β βββ Register.jsx
β β β βββ History.jsx
β β β βββ Settings.jsx
β β β βββ Payment.jsx
β β β βββ AuthSuccess.jsx
β β βββ services/ # API integration
β β β βββ api.js
β β β βββ authService.js
β β β βββ aiService.js
β β β βββ paymentService.js
β β β βββ historyService.js
β β βββ context/ # Global state
β β β βββ AuthContext.jsx
β β βββ App.jsx # Main app component
β β βββ main.jsx # Entry point
β β βββ index.css # Global styles
β βββ package.json
β βββ vite.config.js
β βββ tailwind.config.js
β
βββ README.md # This file
βββ LICENSE # MIT License
βββ CODE_DOCUMENTATION.md # Detailed code docs
# Health check
curl http://localhost:5000/api/health
# Expected response:
{"status":"ok"}- Open http://localhost:5173
- Type "Create a hello world function in Python"
- Click Send
- Should see generated code
- Click "Sign In"
- Click "Continue with GitHub"
- Should redirect to GitHub
- After authorizing, redirected back to app
- Should be logged in
Problem: ModuleNotFoundError: No module named 'flask'
# Solution: Install dependencies
pip install -r requirements.txtProblem: OPENAI_API_KEY not found
# Solution: Create .env file and add API key
echo "OPENAI_API_KEY=sk-your-key" > backend/.envProblem: Port 5000 already in use
# Solution: Change port in app.py line 496
app.run(host='0.0.0.0', port=5001, debug=True) # Changed to 5001Problem: npm: command not found
# Solution: Install Node.js from https://nodejs.org/Problem: CORS error in browser console
# Solution: Make sure backend is running on port 5000
# Check backend/.env CORS settingsProblem: White screen
# Solution: Check browser console for errors
# Make sure backend is running
# Try clearing browser cacheContributions are welcome! Here's how you can help:
-
Fork the repository
# Click "Fork" button on GitHub -
Clone your fork
git clone https://github.com/YOUR_USERNAME/GlobalAssist.git
-
Create a branch
git checkout -b feature/amazing-feature
-
Make your changes
- Add new features
- Fix bugs
- Improve documentation
-
Commit your changes
git commit -m "Add amazing feature" -
Push to your fork
git push origin feature/amazing-feature
-
Open a Pull Request
- Go to original repository
- Click "New Pull Request"
- Describe your changes
- Write clean, readable code
- Follow existing code style
- Add comments for complex logic
- Test your changes thoroughly
- Update documentation if needed
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2025 Elmehdi Elmouate
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
Elmehdi Elmouate
- GitHub: @GitMehdi-sys
- Email: mehdielmo2020@gmail.com
- OpenAI for GPT models
- Anthropic for Claude models
- Google for Gemini Pro
- React team for the amazing framework
- Flask team for the simple backend framework
- All contributors and users of GlobalAssist
- Add support for more AI models
- Implement code completion
- Add collaborative coding features
- Mobile app (iOS/Android)
- VS Code extension
- Self-hosted option
- API for third-party integrations
- Multi-language support
Need help? Have questions?
- π§ Email: mehdielmo2020@gmail.com
- π Issues: GitHub Issues
- π‘ Discussions: GitHub Discussions
If you find GlobalAssist helpful, please consider:
- β Starring the repository
- π΄ Forking and contributing
- π’ Sharing with others
- π¬ Leaving feedback
Made with β€οΈ by Elmehdi Elmouate
