A Django-based platform ("CodeMart") where developers can upload, showcase, and sell digital content (code snippets, designs, articles) and customers can browse, preview, purchase, and communicate with developers.
- Role-Based Access: Separate Developer and Customer signup with custom dashboards.
- Content Upload: Developers add content with metadata (title, description, price, tags, category).
- Live Preview: In-browser preview of HTML/CSS/JS content without exposing source code.
- Shopping Cart: Add multiple items (content & subscriptions) and manage in-cart items.
- Secure Checkout: Integration with Razorpay for seamless payments.
- Subscription Plans: Customers subscribe to unlock chat access; developers chat for free.
- Messaging: Secure one-on-one chat for custom requests, negotiations, and support.
- Admin Panel: Manage users, content, subscriptions, and handle disputes.
- Backend: Python, Django
- Frontend: HTML5, Bootstrap, CSS3, JavaScript
- Database: MySQL
- Payments: Razorpay
-
Clone the repo:
git clone https://github.com/chaurasiavipul98/code-mart.git cd code-mart
-
Create & activate virtualenv:
python3 -m venv venv source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables:
-
Create a
.env
file in the project root with:SECRET_KEY=your_django_secret_key DEBUG=True DB_NAME=your_mysql_db DB_USER=mysql_user DB_PASSWORD=mysql_password RAZORPAY_KEY=your_key RAZORPAY_SECRET=your_secret
-
-
Run migrations & collect static files:
python manage.py migrate python manage.py collectstatic
-
Run the development server:
python manage.py runserver
Visit http://127.0.0.1:8000/
in your browser.
- Sign up as Developer or Customer.
- Developers upload content under the "Marketplace" tab.
- Customers browse and preview content; add items or subscriptions to the cart.
- Complete payment via Razorpay or PayPal.
- Subscribed customers can chat with developers via the "Messages" page.
- Admin can manage users, content, and disputes via Django admin.
- Fork the repository.
- Create a feature branch (
git checkout -b feature/new-feature
). - Commit your changes (
git commit -m "Add new feature"
). - Push to branch (
git push origin feature/new-feature
). - Submit a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or feedback, reach out to:
- Vipul Chaurasia (Developer)
- Email: [email protected]
- LinkedIn: linkedin.com/in/vipulchaurasia