Skip to content

DIVIgor/auctions-box

Repository files navigation

AuctionsBox - auction app

An auction app based on Django, Django REST Framework and PostgreSQL.

Table of contents

Introduction

The idea to create this app was born when I completed CS50's task. I wanted to build a more complex auction app. And use in one project most technologies I know.

Web page

https://auctions-box.up.railway.app/

You can log in as a demo user to test functionality:

  • login: user
  • password: demo#321

Or create your own one.

PS: Unfortunately, free Postgres support is no longer available on Heroku. So the app is now deployed on the Railway.app service. But I faced there an issue with collecting static. So the AuctionsBox will work in debug mode till I find a solution.

Technologies

  • Python 3.10
  • Django 4.0
  • Django REST Framework 3.13
  • PostgreSQL 10
  • HTML 5
  • CSS 3
  • Docker
  • Heroku/Railway
  • Swagger
  • Plotly

Features

Using this app, you can:

  • Check all active listings on the homepage
  • Sort and order listings
  • Get all active listings by category
  • Get complete information about a listing
  • Search for listings by name, description, or author
  • Get API docs
  • Get analytics graphs

If authenticated, you also can:

  • Bid listings
  • Add listings to your watchlist
  • Add comments
  • Create new listings
  • Get a list of all your bids
  • Get a list of all your listings
  • Check and change your account info

Admin panel extended with:

  • Extra info
  • Filtering
  • Search

API features:

  • Documented with Swagger
  • Token authentication
  • Raw JSON serialized data
  • Same functionality as with UI
  • Change the max page size

Illustrations

  • Authentication

    • Registration, log in, log out auth_demo
    • User Info change_user_info_demo
  • Unauthenticated user interface demo:

    • Navigation navigation_demo

    • Search search_demo_lq

    • Pagination pagination_demo_1 pagination_demo_2 pagination_demo_3

    • Detailed listing detailed_listing_demo

  • Authenticated user interface demo:

    • Navigation nav_bar_demo

    • Bidding bid_demo

    • Watchlist watch_demo

    • Comment comment_demo

    • Add listing add_listing_demo

    • Analytics (with Plotly) number_of_listings_graph

  • Admin-panel demo Admin-panel demo

  • API:

    • Docs API_docs_demo_lq

    • Unauthenticated usage unauthorized_user_demo

    • Token authentication token_authorization_demo

    • Authenticated usage authorized_user_demo

About

An auction app based on Django, DRF, and PostgreSQL.

Resources

Stars

Watchers

Forks