SevaSetu -- AI-Powered Home Services Platform with Voice Booking, Real-Time Chat and Razorpay Payments | Django Final Year Project
Back to ProjectBefore you begin, make sure the following are installed on your system:
Extract the downloaded ZIP file to a folder of your choice. Open a terminal or command prompt and navigate to the project directory:
cd sevasetu
It is a good practice to use a virtual environment so that project dependencies do not interfere with other Python projects on your system.
python -m venv venv
Activate the virtual environment:
venv\Scripts\activatesource venv/bin/activateInstall all required packages using the requirements file, then install Razorpay separately:
pip install -r requirements.txt pip install razorpay
Create a file named .env in the root of the project folder. Add the following configuration values, replacing placeholders with your actual credentials:
SECRET_KEY=your-django-secret-key DEBUG=True ALLOWED_HOSTS=localhost,127.0.0.1 REDIS_URL=redis://localhost:6379 GROQ_API_KEY=your-groq-api-key RAZORPAY_KEY_ID=rzp_test_xxxxx RAZORPAY_KEY_SECRET=your-razorpay-secret EMAIL_HOST_USER=your@gmail.com EMAIL_HOST_PASSWORD=your-gmail-app-password FIELD_ENCRYPTION_KEY=your-base64-encryption-key
To get your Groq API key, create a free account at console.groq.com. For Razorpay test keys, sign up at dashboard.razorpay.com and use the test mode credentials.
Django needs to create the database tables before the application can run:
python manage.py makemigrations python manage.py migrate
Run the following four commands in this exact order. Each one populates a different part of the database:
python manage.py seed_maharashtra python manage.py seed_services python manage.py seed_subscriptions python manage.py seed_demo
This loads 10 districts, 31 cities, 98 areas, 7 service categories, 29 service problems, 5 subscription plans, 5 demo customer accounts, 10 demo vendor accounts, and 20 sample bookings.
Create a superuser account to access the Django admin panel:
python manage.py createsuperuser
When prompted, enter admin as the username and admin@123 as the password.
python manage.py runserver
Open your web browser and go to http://127.0.0.1:8000 to see the application. The admin panel is available at http://127.0.0.1:8000/admin/.
For WebSocket-based chat and Celery-powered notifications to work, you need Redis running:
In a separate terminal window, start Redis:
redis-server
In another terminal window, start the Celery worker:
celery -A sevasetu worker -l info
Use these accounts to test different roles in the application:
| Role | Username | Password |
|---|---|---|
| Admin | admin | admin@123 |
| Customer | customer_priya | demo@123 |
| Vendor | vendor_suresh | demo@123 |
All 5 customer accounts and all 10 vendor accounts use the same password: demo@123.
Our team is here to assist you with installation and setup.