Skip to content

Andry925/charity_auctions2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This charity auctions project enables users to participate in or create their own auctions. It follows best practices, including queryset optimization to avoid the n+1 problem, unit tests to ensure code functionality, caching to improve data handling speed, and containerization to ensure the app runs consistently across different machines.

Applied Technologies

This project leverages several technologies:

  • Django REST framework for API development.
  • PostgreSQL for data storage.
  • Websockets for real-time user communication.
  • Unit tests for endpoint testing.
  • Redis as a message broker and for caching.
  • Gunicorn and Nginx for managing communication between the React frontend and Django backend.
  • Docker for containerization.

Functionality

The project includes:

  • Authentication with JWT, password reset, and password recovery via email.
  • Auction management with the ability to create, edit, delete, and view auctions, including descriptions and photos.
  • Bidding functionality where users can place bids and view all bids on an auction.
  • Notifications for auction owners when their auction receives a bid.
  • Filtering and searching to manage auctions by various criteria.
  • User communication via Websockets for real-time conversations.

Usage

  1. Ensure Docker is installed on your machine.
  2. Clone the repository:
    $ git clone https://github.com/Andry925/charity_auctions2.git
  3. Fill in EMAIL_HOST_PASSWORD and EMAIL_HOST_USER in the .env file to enable the email service.
  4. Build and run containers
   $ docker compose up --build
  1. Access the application at 127.0.0.1:80 or check the backend at 127.0.0.1:8000.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published