Skip to content

MERN application that allows a moving company offer products and services. In this application, a user can browse products, add them to the cart and make a payment using Stripe.

Notifications You must be signed in to change notification settings

josemartin357/moving-ecomm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moving E-commerce

License: MIT

MERN application that allows a moving company offer products and services. The idea behind this product is to offer local small moving companies a platform where they can also function as an e-commerce. In this application, a user can browse products, add them to the cart and make a payment using Stripe.

Technical Concept

It uses MongoDB and the Mongoose ODM for the databases. It uses queries and mutations for retrieving, adding, updating, and deleting data. It is part of Schemas folder on server side. The app uses GraphQL with a Node.js and Express.js server. It is deployed at Heroku. See Heroku link below. It uses React.js on the front end. It is interactive. It accepts user's input when a user wants to add an item to the cart or remove it. It includes JWT (Json Web Token) authentication. It uses Ant design component library.

To run App

To start this app for the first time from your local host, do the following: run npm install from the root folder to install and update all dependencies needed. Then, run npm run seed to load the data in the seeds file. Theb, run the command npm run build to build the application and finally run the command npm run develop to launch the application in localhost:3000.

Application sample

image

Technologies Used

ReactJS
NodeJS
GraphQL
MongoDB
Express.js
Stripe
JWT
Ant design
Heroku

Testing

In this application, we are using reducers to develop unit tests. Reducers are great at returning new state after applying the actions to the previous state.
Here, we call reducers with an input state and action. Source: https://redux.js.org/usage/writing-tests
To run tests, go to client folder and run the command npm test. Cases being tested: UPDATE_PRODUCTS, ADD_TO_CART, UPDATE_CART_QUANTITY, REMOVE_FROM_CART, ADD_MULTIPLE_TO_CART, CLEAR_CART, TOGGLE_CART,

Screen Shot 2022-02-10 at 9 02 55 AM

Links

Deployed link

https://twomenandahorse.herokuapp.com/

GitHub Repo

https://github.com/josemartin357/moving-ecomm

Future development

Currently working on the following ideas:
Redoing concept of application so rather than being an e-commerce business for one company, it can instead be a platform where users can post their moving services for short moves and/or users can make a moving reservation.
Contact component in Nav bar which will have static contact info and a contact form using EmailJS.
My orders component which will carry all the orders made by logged-in user.

Contributors

Martin Bedoya - client side: mutations, queries, components, tests, last-minute styling.

Mark Sammis - overall project management, powerpoint

Allen Cheslik - Database and Seeds, Stripe, Serviceworker Implementations

Talhah Awan - styles, ant-components

Alexander Umnov - front end, readme, powerpoint

About

MERN application that allows a moving company offer products and services. In this application, a user can browse products, add them to the cart and make a payment using Stripe.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 90.7%
  • CSS 7.1%
  • HTML 2.1%
  • Shell 0.1%