Fast, Accurate & Free AI Chatbot - Complete MERN Stack Platform
Live Demo β’ Features β’ Installation β’ Documentation β’ API Docs
Omnia is a comprehensive AI chatbot platform that provides access to 13+ powerful AI models through multiple interfaces:
- π Web Application - Modern React-based landing page with user registration
- π» CLI Application - Beautiful Python terminal interface for developers
- π REST API - Complete backend API built with Node.js and Express
- ποΈ Database - MongoDB for user management and chat history
- π Completely Free - No hidden costs or subscriptions
- π 13+ AI Models - GPT, Gemini, DeepSeek, Llama, and more
- π Secure Authentication - JWT tokens with OTP verification
- π¬ Context-Aware - Maintains conversation history
- π Analytics - Track usage and chat statistics
- π¨ Beautiful UI - Modern web interface with scroll animations
- β‘ Fast & Reliable - Optimized performance with rate limiting
- Modern landing page with scroll animations
- User registration with 3-step OTP verification
- Responsive design for all devices
- API documentation showcase
- Feature highlights and model listings
- Interactive terminal interface with colors
- 13+ AI model selection
- Chat history management
- Session persistence
- Profile management
- Multi-chat support
- Statistics dashboard
- RESTful API architecture
- JWT authentication
- OTP email verification
- Rate limiting (150 req/day)
- Chat management
- User profile operations
- Conversation history
- MongoDB integration
| Technology | Purpose |
|---|---|
| React 19.1.0 | UI library |
| Vite 7.0.4 | Build tool |
| Framer Motion | Animations |
| React Icons | Icon components |
| Technology | Purpose |
|---|---|
| Node.js | Runtime environment |
| Express.js | Web framework |
| MongoDB | Database |
| Mongoose | ODM |
| JWT | Authentication |
| Bcrypt | Password hashing |
| Nodemailer | Email service |
| Axios | HTTP client |
| Technology | Purpose |
|---|---|
| Python 3.7+ | Programming language |
| Requests | HTTP client |
| Colorama | Terminal colors |
| Termcolor | Text styling |
| Pyfiglet | ASCII art |
| Curses | Interactive menus |
- Node.js (v14 or higher)
- Python 3.7+
- MongoDB (local or Atlas)
- Gmail account (for OTP emails)
- npm or yarn
-
Clone the repository
git clone https://github.com/FurqanAhmadKhan/Omnia.git cd Omnia -
Setup Backend Server
cd server npm install # Create .env file cp .env.example .env # Edit .env with your configuration # Start server node index.js
-
Setup Web Client
cd ../client npm install # Start development server npm run dev
-
Setup CLI Application
cd ../application pip install -r requirements.txt # Run CLI python main.py
Omnia/
βββ client/ # React web application
β βββ src/
β β βββ App.jsx # Main component
β β βββ App.css # Styles
β β βββ main.jsx # Entry point
β βββ package.json
β βββ README.md
β
βββ server/ # Node.js backend API
β βββ config/
β β βββ db.js # Database config
β βββ controllers/
β β βββ userControllers.js
β β βββ chatController.js
β βββ middlewares/
β β βββ auth.js # JWT middleware
β βββ models/
β β βββ userModel.js
β β βββ chatModel.js
β βββ routes/
β β βββ userRoutes.js
β β βββ chatRoutes.js
β βββ utils/
β β βββ otp.js
β β βββ aiService.js
β βββ index.js # Entry point
β βββ package.json
β βββ README.md
β
βββ application/ # Python CLI application
β βββ main.py # CLI entry point
β βββ requirements.txt
β βββ OmniaCLI.spec # PyInstaller spec
β βββ README.md
β
βββ .gitignore
βββ README.md # This file
- Visit the website
- Navigate to the registration section
- Enter your email and receive OTP
- Complete registration
- Use credentials in CLI or API
python main.pyAvailable Commands:
--new- Create new chat--model- Change AI model--history- View chat history--stats- Show statistics--list- List all chats--continue- Continue existing chat--rename- Rename current chat--delete- Delete current chat--profile- View profile--help- Show help--exit- Exit application
Base URL: https://omnia-cli-server.vercel.app/api
Example: Register User
const response = await fetch('https://omnia-cli-server.vercel.app/api/user/register', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'John Doe',
email: '[email protected]',
password: 'SecurePass123',
otp: '123456'
})
});See client/README.md for:
- Web application features
- Customization guide
- Deployment instructions
- Animation details
See server/README.md for:
- Complete API reference
- Authentication flow
- Rate limiting details
- Error handling
- Database schema
See application/README.md for:
- CLI commands
- Model selection
- Chat management
- Building executables
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/user/send-otp |
Send OTP for registration |
| POST | /api/user/register |
Register new user |
| POST | /api/user/login |
User login |
| GET | /api/user/profile |
Get user profile |
| PUT | /api/user/profile |
Update profile |
| POST | /api/user/change-password |
Change password |
| POST | /api/user/forgot-password |
Request password reset |
| POST | /api/user/reset-password |
Reset password with OTP |
| DELETE | /api/user/profile |
Delete account |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/chat/create |
Create new chat |
| POST | /api/chat/message |
Send message to AI |
| GET | /api/chat/list |
Get all user chats |
| GET | /api/chat/:id/history |
Get chat history |
| PATCH | /api/chat/:id/title |
Update chat title |
| GET | /api/chat/stats |
Get chat statistics |
| DELETE | /api/chat/:id |
Delete specific chat |
| DELETE | /api/chat/all |
Delete all chats |
- Standard - Default balanced model
- Online - Web-connected model
- DeepSeek V3.2 - Advanced reasoning
- Gemini 2.5 Flash Lite - Fast Google AI
- GPT-4.1 Nano - Compact GPT variant
- GPT OSS 120B - Open-source GPT
- Gemma 3 12B - Google's Gemma
- Qwen3 30B - Alibaba's model
- GPT-5 Nano - Next-gen compact
- Llama 3.3 70B Instruct - Meta's flagship
- Llama 3.1 8B Instant - Fast Llama
- Llama 4 Scout - Latest Meta model
- Gemma2 9B - Updated Gemma
Create server/.env:
# Server
PORT=3000
NODE_ENV=development
# Database
MONGODB_URI=mongodb://127.0.0.1:27017/Omnia
# JWT
JWT_SECRET=your_jwt_secret_key
# Email (Gmail)
GMAIL_USER=[email protected]
GMAIL_APP_PASSWORD=your_gmail_app_password
# CORS
CORS_ORIGIN=http://localhost:3000
FRONTEND_URL=http://localhost:5173
# Rate Limiting
ADMIN_IPS=127.0.0.1,::1Update API endpoint in client/src/App.jsx:
const BASE_URL = 'https://omnia-cli-server.vercel.app/api';API endpoint is set in application/main.py:
BASE_URL = "https://omnia-cli-server.vercel.app/api"- β JWT-based authentication
- β Password hashing with bcrypt
- β OTP email verification
- β Rate limiting (150 requests/day)
- β Input validation
- β CORS protection
- β Admin IP whitelisting
- β Secure session management
- Push code to GitHub
- Import project in Vercel
- Set environment variables
- Deploy
cd client
npm run build
# Deploy 'dist' foldercd application
pyinstaller OmniaCLI.spec
# Executable in 'dist' folder- 150 requests per 24 hours for all API routes
- Admin IPs are exempt
- 100 requests per 15 minutes for
/api/user/* - Excludes GET profile endpoint
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature' - Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
- Follow existing code style
- Write clear commit messages
- Update documentation
- Test thoroughly before submitting
- Add comments for complex logic
MongoDB Connection Failed
# Check if MongoDB is running
mongod --version
# Start MongoDB service
# Windows: net start MongoDB
# Linux: sudo systemctl start mongod
# Mac: brew services start mongodb-communityPort Already in Use
# Change PORT in server/.env
PORT=3001OTP Not Received
- Check Gmail credentials in
.env - Enable "Less secure app access" or use App Password
- Check spam folder
CLI Import Errors
pip install -r requirements.txt --upgradeThis project is licensed under the ISC License.
Furqan Ahmad Khan
- π Portfolio: furqan-ahmad-khan.vercel.app
- π§ Email: [email protected]
- πΌ GitHub: @FurqanAhmadKhan
- React team for the amazing library
- Vite for the blazing-fast build tool
- Framer Motion for smooth animations
- Express.js community
- MongoDB team
- Python community
- All open-source contributors
For issues, questions, or contributions:
- π Report Bug
- π‘ Request Feature
- π View Documentation
- Mobile application (React Native)
- Real-time chat with WebSockets
- Voice input/output
- Image generation support
- Team collaboration features
- Custom model training
- Plugin system
- Multi-language support
- 13+ AI Models available
- 3 Platforms (Web, CLI, API)
- 100% Free forever
- Open Source MIT licensed
Made with β€οΈ by Furqan Ahmad Khan
β Star this repo if you find it helpful!
Website β’ Documentation β’ API Docs β’ Support