Portfolio Project

Amin el aarouchi
2 min readSep 18, 2024

--

Introduction

Our MERN stack portfolio project is a modern full-stack application featuring an admin panel for efficient content management and user interactions. The goal is to demonstrate our ability to handle both frontend and backend development, covering key areas like database handling, API creation, and responsive UI/UX design.

This project was built collaboratively by myself, Amin El Aarouchi, focusing on the frontend and user experience, and my teammate Younes Fetouaki, who handled the backend and state management. We initiated the project on August 23, 2024, and completed it by September 19, 2024.

The project is tailored for developers aiming to showcase their portfolios, with an easy-to-use admin dashboard for managing portfolio content. My primary responsibility included creating a smooth, responsive user interface and ensuring seamless interactions, while also ensuring the system was user-friendly and aesthetically pleasing.

Personal Journey

From an early age, I’ve been captivated by technology. Growing up surrounded by the rapid advancements in tech, I found myself drawn toward software development after completing my baccalaureate. My passion for problem-solving naturally led me to the world of coding, and I soon realized that this was more than just a career — it’s something I love doing.

Key Achievements

Our project is now fully functional, featuring a dynamic admin panel, user authentication powered by JWT, and a design that works across all devices. Below is a high-level architecture diagram showing the flow of data between the client, server, and MongoDB.

Technologies Employed:

  • MongoDB: Chosen for its flexibility with unstructured data.
  • Node.js & Express: Ideal for a lightweight, asynchronous backend.
  • React & Redux: These handled state management, ensuring efficient data flow within the frontend.

Highlighted Features:

  • JWT-based user authentication with role-based access control.
  • Admin dashboard for easy management of portfolio content.
  • Responsive layout for optimal viewing on mobile and desktop devices.

Overcoming Technical Challenges

One of the most challenging aspects was implementing real-time updates in the admin panel using web sockets. We wanted admins to see updates live, without refreshing the page.

Scenario: The admin panel needed real-time updates. Task: I explored web socket libraries compatible with the MERN stack. Action: After testing various options, I selected Socket.IO and integrated it to enable live updates between the admin panel and the server. Result: This created a smooth experience for admins, where portfolio changes were reflected instantly without page reloads.

Lessons Gained

This project provided valuable insights into building scalable applications. I learned the importance of thorough architectural planning and choosing the right tools for each part of the tech stack. Team collaboration also proved essential, especially in task distribution.

If I were to revisit this project, I would spend more time refining the design for an even better user experience. Additionally, learning Docker for containerization would have streamlined the deployment process significantly.

--

--