Giter Club home page Giter Club logo

fullstack-shopping-cart's Introduction

MERN stack shopping cart

Intro

I started working on this app a while ago when I was still learning technologies used in this project, so please be aware that the codebase (and the whole app in general) isn't perfect and there is still room for improvement, even though I've updated the code multiple times over the past years.

So, consider this as a learning example or just a showcase rather than a production-quality code.

Description

Shopping cart app build with MERN stack and using RESTful API design. Responsive front-end design done with Material-UI, uses Redux for state management, Node & Express for API, MongoDB as database. App runs in Docker containers but you can also run each sub-app separately, without Docker.

You can get and view the list of all products from the API, register, add products to cart, remove specific product or empty entire cart, make order...

Technologies & Tools

Front-end:

  • React
  • Redux
  • Redux-Saga
  • Material-UI
  • Webpack
  • TypeScript

Backend:

  • Node/Express
  • MongoDB/Mongoose

Installation and Usage

Requirements:

  • Docker

In case you want to run it without Docker (requires additional setup):

  • Node.js installed
  • MongoDB connection

Steps:

  1. Clone repo on your local machine:
$ git clone https://github.com/ivan3123708/fullstack-shopping-cart.git
  1. Run docker-compose
$ cd fullstack-shopping-cart
$ docker-compose up -d

This will pull images and build 3 containers for each part of the application: frontent, backend & db.

  1. If everything went without problems, go to localhost:3000, you should see the running app.
  • frontend container (React app) runs on port 3000
  • backend container (Node api) runs on port 5000
  • db container (MongoDB server) runs on port 27017

Use docker exec -it <container name> bash to troubleshoot if there are any problems.

fullstack-shopping-cart's People

Contributors

ivan3123708 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.