SkillVerse is a comprehensive platform connecting skill providers with clients. Built with Flask, it features a modern, responsive UI, real-time chat, wallet system, and admin administration.
- User Roles: Admin, Service Provider, Client (Client converts to Provider automatically upon creating a service).
- Service Marketplace: Browse, search, filter, and purchase services.
- Real-time Chat: Socket.IO powered messaging system for orders.
- Wallet System: Integrated wallet for managing earnings and payments.
- Admin Dashboard: Manage users, services, requests, and platform analytics.
- AskVera AI: AI-powered assistant for user help (Configurable).
- Responsive Design: Mobile-first architecture with Dark/Light mode support.
This project follows an industry-standard split frontend/backend architecture:
SkillVerse/
├── backend/ # Server-side Logic (Flask)
│ ├── app/ # Application Core
│ │ ├── __init__.py # App Factory
│ │ ├── models.py # Database Models (ORM)
│ │ ├── extensions.py # Flask Extensions Init
│ │ ├── socket_events.py # Socket.IO Event Handlers
│ │ ├── routes/ # API & Page Controllers
│ │ │ ├── __init__.py
│ │ │ ├── web_routes.py # Main Web Routes
│ │ │ └── chat_routes.py # Chat API Routes
│ │ └── services/ # Business Logic Layer
│ │ ├── __init__.py
│ │ ├── business_service.py # Core Business Logic
│ │ ├── payment_service.py # Payment & Wallet
│ │ ├── chat_service.py # Chat Management
│ │ └── email_service.py # Email Notifications
│ ├── scripts/ # Utility Scripts
│ │ └── seed_database.py # DB Initialization & Seeding
│ ├── config.py # Configuration Settings
│ ├── run.py # Application Entry Point
│ ├── Procfile # Render/Heroku Deployment
│ ├── .env.example # Environment Template
│ └── requirements.txt # Python Dependencies
│
├── frontend/ # Client-side Assets
│ ├── templates/ # HTML Templates (Jinja2)
│ │ ├── admin/ # Admin Dashboard Views
│ │ ├── auth/ # Authentication Views
│ │ ├── user/ # User Dashboard Views
│ │ ├── emails/ # Email Templates
│ │ ├── errors/ # Error Pages (404, 500)
│ │ ├── legal/ # Terms & Privacy Pages
│ │ ├── components/ # Reusable UI Components
│ │ ├── base.html # Base Layout Template
│ │ ├── index.html # Homepage
│ │ └── services.html # Service Listing Page
│ ├── static/ # Static Assets
│ │ ├── css/ # Stylesheets
│ │ ├── js/ # JavaScript Files
│ │ ├── images/ # Static Images
│ │ ├── avatars/ # User Profile Pictures
│ │ ├── uploads/ # Service Images
│ │ └── portfolio/ # Portfolio Images
│ └── invoices/ # Generated PDF Invoices
│
├── docs/ # Project Documentation
├── .gitignore # Git Ignore Rules
├── README.md # Project Documentation
└── start.bat # Windows Quick Start Script
- Backend: Python 3.8+, Flask, SQLAlchemy, Flask-SocketIO
- Frontend: HTML5, CSS3, JavaScript (ES6+), Bootstrap 5
- Database: PostgreSQL (Production) / SQLite (Development)
- Real-time: WebSocket via Flask-SocketIO
- AI Integration: Groq API (AskVera Chatbot)
- Email: Flask-Mail with SMTP
- Deployment: Gunicorn + Render
- Python 3.8+
- PostgreSQL (optional, defaults to SQLite)
-
Clone the repository:
git clone <repository-url> cd SkillVerse
-
Run the Quick Start Script (Windows):
.\start.batThis script will:
- Install dependencies from
backend/requirements.txt - Setup
backend/.envfile - Initialize the database with seed data
- Start the development server
- Install dependencies from
-
Create virtual environment:
python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # macOS/Linux
-
Install dependencies:
pip install -r backend/requirements.txt
-
Configure Environment:
cp backend/.env.example backend/.env
Update
.envwith your credentials. -
Run Application:
cd backend python run.py
- Email:
admin@skillverse.com - Password:
admin123
- Create a new Web Service on Render
- Connect your GitHub repository
- Configure:
- Root Directory:
backend - Build Command:
pip install -r requirements.txt - Start Command:
gunicorn "app:create_app()"
- Root Directory:
- Add Environment Variables:
Variable Description DATABASE_URLPostgreSQL connection string SECRET_KEYRandom secret key FLASK_ENVproductionGROQ_API_KEYGroq API key (for AskVera)
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Proprietary Software. Internal Use Only.