CIFULLMA

An awesome e-commerce project

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. Contact

About The Project

This is an amazing e-commerce project, where all users can sell and buy products without problems, it allows each user to have a dashboard with everything necessary to load products in the right way through different types of load, for example, loads. In .csv, .xlsx and .txt format and also dynamic loads using plain text and using regular expressions to mutate it to a correct format, in addition, this project will implement development tools such as Docker-compose and Docker containers for deployment on the server and to finish this project, I will implement notifications and a real time chat system using Socket.IO and create my own library using Canvas API to build graphs of system statistics, last but not least this project will have unit tests and good documentation made with Swagger. Here's why:

  • I want to increase my skills in Node.js, since this is my first project using this framework.
  • This project was also born as a way to practice new algorithms and data structures that I have been learning lately on my own.
  • Finally, I am creating this project to have it as a good reference for my work.

(back to top)

Built With

These are the technologies with which this project is being built, I had thought to develop it with Nest.js, but I will leave it for another project.

(back to top)

Getting Started

First, make sure you have the following dependencies with this version or a newer one.

Prerequisites

  • node & npm

    v16.13.1 & v8.1.2
  • Docker & Docker-compose

  • A coffee on your table ☕

Installation

To run this project, please follow the steps below.

  1. Clone the repo
    git clone https://github.com/cristian2213/e-commerce-api.git
  2. Run services
    docker-compose up -d
  3. Create a .env file in the root and paste this variables:
    APP_PORT=3000
    APP_HOST=127.0.0.1
    DB_CONNECTION=mysql
    MYSQL_HOST=127.0.0.1
    MYSQL_DATABASE=e-commerce-app-01
    MYSQL_PORT=3306
    MYSQL_USER=root
    MYSQL_ROOT_PASSWORD=123456
    JWT_SECRET=yourKey
    SENDGRID_API_KEY=youCanCreateAKeyInSendGridIsFree
    SENDGRID_EMAIL_FROM=emailToSendEmailVerification
  4. Install NPM packages
    npm install
  5. Run the server in development mode
    npm run dev

(back to top)

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

For more examples, please refer to the Documentation

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

My Linkedin: https://www.linkedin.com/in/cristian-johany/

(back to top)