Velora is a fully-featured digital art commission marketplace built on a robust Django backend. It features a striking Neo-Brutalist design system and provides a secure, end-to-end workflow for artists and clients to collaborate on custom artwork. From initial request to final escrow payout, Velora handles the entire lifecycle securely and beautifully.
- Transitioned entirely from React to server-side rendered Django HTML templates.
- Designed an aesthetic interface characterized by stark contrasts, solid black borders, drop shadows, and vibrant accent colors using Vanilla HTML and Tailwind CSS.
- Clients can post detailed commission requests, specify budget constraints, upload references, and browse artist portfolios.
- Artists have dedicated profiles, can showcase their past work, filter open requests by tag, and submit competitive proposals with delivery timelines.
- Real-time order tracking: Visual pipelines from
Proposal→In Progress→Submitted→Revision Requested→Completed.
- Fully integrated with Razorpay.
- Buyer Protection: When a proposal is accepted, the client's funds are captured and held securely in Escrow.
- Funds are only released to the artist after the client explicitly reviews the watermarked preview and approves the final high-resolution delivery.
- Comprehensive security implementations preventing CSRF attacks and state-machine bypass vulnerabilities.
- If an order goes wrong, either the client or artist can freeze the workflow by raising a dispute.
- An advanced administrative resolution engine allows admins to:
- Review the dispute reason, escrow details, and submission timeline.
- Refund the Client: Cancels the order and returns funds via Razorpay.
- Release to Artist: Bypasses the client and releases funds to the artist.
- Dismiss Case: Unfreezes the workflow to continue normally.
- Granular control over users, orders, and payments.
- Generation of detailed PDF Financial Reports directly from the dashboard using WeasyPrint.
- Asynchronous OTP Delivery: Sends high-security 6-digit verification codes using Celery and Redis asynchronously, ensuring zero frontend form submission latency.
- Frontend Match & Security Validation: Features instant match verification for password fields and a clean toggle to show/hide passwords using Lucide icons.
- Interactive UI: Custom OTP numeric verification layout to enter codes seamlessly.
For a deeper technical dive into the architecture and state machines, check out the documentation:
| Category | Technology |
|---|---|
| Backend Framework | Django, Python |
| Frontend Styling | Tailwind CSS, HTML5, Vanilla JavaScript |
| Database | MySQL |
| Payment Gateway | Razorpay SDK |
| Report Generation | WeasyPrint |
| Task Queue & Cache | Celery, Redis |
Follow these steps to run Velora locally on your machine.
- Python 3.x
- MySQL Server
- Redis Server (for Celery background tasks)
-
Clone the repository:
git clone https://github.com/yourusername/velora.git cd velora -
Install dependencies:
pip install -r requirements.txt
-
Environment Setup: Create a
.envfile in the root directory containing your credentials:SECRET_KEY=your_django_secret DEBUG=True DBUser=root DBPass=yourpassword RAZORPAY_KEY_ID=your_razorpay_key RAZORPAY_KEY_SECRET=your_razorpay_secret # SMTP Settings (for Email OTP) smtp_server=smtp.gmail.com smtp_port=587 email_id=your_email@gmail.com password_email=your_app_specific_password # Celery & Redis Settings CELERY_BROKER_URL=redis://127.0.0.1:6379/0 CELERY_RESULT_BACKEND=redis://127.0.0.1:6379/0
-
Database Migrations:
python manage.py makemigrations python manage.py migrate
-
Start the Services and Development Server:
First, start Redis:
redis-server
In a separate terminal, start the Celery worker:
celery -A artwork_system worker --loglevel=info
Then, start the Django server:
python manage.py runserver
Navigate to
http://127.0.0.1:8000/in your browser.
