Creating a full e-commerce web application is a common portfolio project among developers and for a good reason. Creating a project of that caliber requires a myriad of skills in different areas of software development including design, frontend, and backend proficiency. Projects of this size require a lot of planning and therefore organizational skills and adherence to coding conventions. Therefore, I am not only creating a web store to learn about the MERN stack for the first time but also to practice my software engineering and development abilities.
Let's talk about what the MERN stack is before going any further though. MERN stands for MongoDB, Express, React, and Node -- the different framework components that make up the tech stack.
We can see from this diagram taken from MongoDB's official website how the different components of the stack work with one another. React is used as the frontend framework and creates the visual components of the site. React communicates with Express and Node to interact with the database which is Mongo.
For this project, I have decided to use MongoDB Atlas to manage my database. Atlas allows for a visual and UI-based approach to managing a Mongo database online which I found relatively simple to set up (which is much more than I can say about other online database services). Atlas has a free cluster that you can use that I found to be a little lackluster in size, but good enough for a portfolio project.
The build, look, and flow of this project is relatively straight forward:
Homepage
Product Category Page
Product Details Page
Admin Categories Page
Admin Products Page
My code for this project is in progress which you can track via my GitHub repository.