Technologies used

The e-commerce project is built using a combination of technologies. Node.js serves as the core runtime environment, allowing the execution of JavaScript on the server-side. Express, a popular web framework for Node.js, is utilized to simplify the development of the web application.
Different Node libraries enhance the functionality of the e-commerce platform. Nodemailer is used for sending emails, enabling communication with customers regarding order confirmations, shipping updates, etc. Passport, another Node library, aids in implementing authentication and authorization mechanisms, securing user access to the platform.
PostgreSQL, a powerful open-source relational database management system, serves as the backend database for storing and managing various e-commerce-related data, such as product information, user details, and order records. Sequelize, an ORM (Object-Relational Mapping) library for Node.js, simplifies the interaction with the PostgreSQL database, providing an intuitive way to define and execute database queries.
Docker is employed to containerize the application, enabling easy deployment and scalability. With Docker, the e-commerce platform can be packaged as a lightweight, self-sufficient unit, ensuring consistency and portability across different environments.
Swagger, an open-source tool, is used for designing, building, documenting, and consuming RESTful APIs. It provides a unified interface for developers to interact with the e-commerce platform's APIs, making it easier to test and understand the available endpoints and their functionalities.

Project repository

Technical aspects

There are some of the technologies used for this project. Documentation can be checked in the route /docs.

  • Postgres
  • Sequelize
  • Passport
  • Nodemailer
  • NodeJS
  • Docker
  • Postman
  • Swagger

What I learned

With this project I had to lean how to make the propper associations for the differnts tables with sequelize. I put into practice the authorization and authentication with the library passport. Also I used the nodemailer library in a simple way

Languages used

Email

SEND MAIL