Skip to content

daudln/shopify-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shopify API

Django RestFull API to manage e-commerse application

Endpoints

  • Products - Browse and manage products.
  • Collections - Organize products into collections.
  • Carts - View and manage customers' shopping carts.
  • Orders - Track and manage orders placed by customers.
  • Customers - Manage customer information and profiles.

Features

  • Searching - Easily search for products, orders, and customers.
  • Filtering - Refine search results using various filters.
  • Nested URLs - Access nested resources through intuitive URLs.
  • Many new features - Explore additional functionality for enhanced management.

API Documentation

  • Swagger UI - Explore The API documentation using Swagger UI.
  • Redoc - Access detailed API documentation with Redoc.

Authentication and API Calls

To authenticate and make API calls, you need to use JWT (JSON Web Token) authentication.

User Registration and Login

This feature ensures that users can manage their data, maintain session state, and perform actions within the API according to their specific permissions and privileges.

Caching with Redis Cache Server

We utilize Redis Cache server for caching, which offers several benefits:

  • Improved performance by reducing database queries and network round-trips.
  • Enhanced scalability as cached data can be quickly served to multiple users.
  • Reduced load on the backend system, leading to better overall system performance.
  • Efficient handling of frequently accessed data, resulting in faster response times.

Advantages of Real REST API Architecture

The API follows the principles of a real REST (Representational State Transfer) architecture, providing the following advantages:

  • Scalability and extensibility through resource-based design and statelessness.
  • Uniform interface for easy integration and development.
  • Separation of concerns with clear client-server communication.
  • Support for multiplerepresentations of data (e.g., JSON, XML), allowing flexibility for different clients.
  • Cacheability of responses for improved performance and reduced server load.
  • Support for hypermedia-driven navigation, enabling clients to discover and interact with resources dynamically.

Interaction with Postgres Database

The API interacts with a Postgres database, providing several benefits for data management and scalability:

  • Relational database structure for efficient and organized storage of data.
  • ACID (Atomicity, Consistency, Isolation, Durability) properties for data integrity and transactional operations.
  • Advanced querying capabilities, including powerful joins and aggregations.
  • Scalability through horizontal and vertical scaling options, allowing for increased workload and user base.
  • Data consistency and reliability, ensuring that information remains accurate and available.