Taberna DRF eCommerce

The completed test task was to create a functional e-Commerce application using the Django Rest Framework (DRF) for the backend and PostgresQL as the database management system. The application supports online payments through Stripe. The application includes two types of users - an administrator and a regular user. The administrator has full control over the products and categories and can manage them through the Django Admin interface. The administrator can create new products and categories, update and delete them, and also view all the orders placed on the website. You can see a description of the frontend here.

The regular user can browse the products on the website and add them to their cart. They can proceed to the checkout and complete their order using Stripe for secure online payments. The user has the option to register for an account, which creates a user profile. During the registration process, the user is required to confirm their email address. Once the user has registered, they can log in to their account and view their order history, edit their profile, and change their email address or password.

The application also includes a search functionality that allows users to search for products by name or category. The backend of the project was built using the DRF, which includes the DRF ORM for database management. The project uses PostgresQL as the database management system. The database schema includes tables for products, categories, variations, orders, and user profiles. The DRF interface provides an easy-to-use interface for managing the products, categories, and orders.

The application is designed to be scalable and maintainable, making use of the DRF's modular and reusable components. The project is containerized using Docker and can be easily deployed on various cloud platforms. Overall, the completed test task resulted in a fully functional e-Commerce application that allows users to browse products, add them to their cart, and complete orders, while the administrator has full control over the products and categories. The project also includes Stripe integration for handling online transactions, ensuring a smooth and secure payment experience for users