https://github.com/william-fernandes252/auctions
E-commerce website for opening and participating in auctions built with Django
https://github.com/william-fernandes252/auctions
celery django django-rest-framework docker docker-compose postgresql
Last synced: 3 months ago
JSON representation
E-commerce website for opening and participating in auctions built with Django
- Host: GitHub
- URL: https://github.com/william-fernandes252/auctions
- Owner: William-Fernandes252
- Created: 2022-03-09T00:08:16.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-09T02:34:21.000Z (about 4 years ago)
- Last Synced: 2025-01-04T09:04:04.550Z (over 1 year ago)
- Topics: celery, django, django-rest-framework, docker, docker-compose, postgresql
- Language: Python
- Homepage:
- Size: 3.23 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Auctions
CS50w Auctions Project allong with a full featured API.


## About
The course third project consists of a eBay-like e-commerce auction site, build with **Django**, that allow users to post auction listings, place bids on listings, comment on those listings, and add listings to a “watchlist”.
As custom features (in addition to those required by the course) I implemented:
- **Time limited listings**. The users are required inform in advance (during the creation of a auction) a duration for listing, wich can selected between five options: one day, three days, one week, two weeks or one month;
- A custom styling with the **Bootstrap framework**, wich includes a navigation bar with a dropdown for navigation categories and a inline count of items in the watchlist;
- A **search bar**, where the users can query for listings titles;
- And a **flash messages** system with the Django messages functionallity, where the users are informed about their operations in the app, like posting bids and closing actions;
- An API for with the Django REST Framework, where a client can retrieve the data from the database in JSON format;
- A task queue system (with the Celery framework and Redis as broker and backend), that is used to store and execute scheduled and periodic tasks in the backgroud;
Also, during this project I could learn about
- The **Object Relational Mapping** (ORM) system that Django provides as a **database-abstraction API** to develop data driven web applications;
- Creation of Django Models to represent the data that the users can interact with;
- **CRUD** operations in Django, including the use of the **QuerySet** functionallity;
- Django Forms functionallity, including model based forms, rendering of form fields on the web pages and users input processing from Django Forms;
- Security in web forms, including Cross-site Request Forgery (CSRF) attacks and the csrf tokens that Django provides to defend against them;
- User authentication;
- Context managment in dinamically generated web pages;
- Unit testing with Python unittest and the Django Tests extension for it;
- Docker consteiners and the importance of standardization of environments during web development for conpatibility assurence;
- Different database management systems and paradigms, like Redis, as a NoSQL database and PostgreSQL as relational database;
- RESTfull APIs development.
## Project Snapshot
Login page

Registration page

Listing page

Search

Categories menu

Create Listing page

Flash messages

Watchlist
