Skip to content

JoyceAcacioPedro/DoneWithIt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ DoneWithIt - Marketplace

DoneWithIt is a professional C2C (Consumer-to-Consumer) marketplace platform designed to streamline the resale of pre-owned items. It features a decoupled architecture with a robust Django REST Framework backend, optimized for high-performance integration with a React-based frontend.

πŸ› οΈ Tech Stack

  • Python 3.12+: Core language for the backend.
  • Django & DRF: High-level framework for rapid development and RESTful API creation.
  • SQLite: Lightweight database for development.
  • Pillow: Image processing library for product photos.
  • CORS Headers: Security configuration for Cross-Origin Resource Sharing with React.

🌟 Key Features

  • Modular Architecture: Separated logic into users and products apps for scalability.
  • Smart Product Management: Supports categories, slugs, and specific item conditions (New, Second Hand, etc.).
  • Automated Seller Relationships: Integrated logic that automatically links products to the authenticated seller via perform_create.
  • Secure API Design: Custom permission classes ensure that only owners can modify their listings.
  • Profile Customization: Extended User model with bio, location, and avatar management.

πŸ—οΈ Project Architecture

The project follows a Decoupled API-First approach. The workflow is as follows:

  1. Request: The frontend (React) sends an HTTP request to specialized endpoints.
  2. Logic: Django ViewSets process the request using ModelViewSets for CRUD operations.
  3. Serialization: Data is transformed into optimized JSON through dedicated Serializers.
  4. Security: Permission layers check authentication before allowing data modification.

πŸš€ How to Run the Project

  1. Clone the repository:
git clone https://github.com/your-username/donewithit-backend.git
cd donewithit-backend
  1. Create a virtual environment and install dependencies:
python -m venv venv
# On Windows:
venv\Scripts\activate

pip install django djangorestframework django-cors-headers pillow
  1. Run Migrations:
python manage.py makemigrations
python manage.py migrate
  1. Launch the application:
python manage.py runserver

πŸ“ Lessons Learned

This project is an ongoing technical challenge involving:

  • Database Normalization: Designing relationships between User, Profile, and Product models.
  • API Security: Implementing granular permissions to protect user data.
  • DRF Optimization: Using Nested Serialization to deliver rich data in a single API call, reducing frontend requests.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages