As a full-stack developer intern at Horizon Labs, I had the opportunity to work on a project where I was responsible for building the company’s display website. I created the website’s frontend and backend using the MERN stack, which consists of MongoDB, Express.js, React, and Node.js. In this blog, I will discuss my experience working on this project, including the challenges I faced and how I overcame them.
Creating the Frontend:
Once I got the wireframes, mockups and prototypes from the graphics designer, I started building the frontend using React. I used various libraries such as Bootstrap and Reactstrap to make the website responsive and easy to navigate.
Challenges Faced: One of the main challenges I faced when building the frontend was making the website responsive across different screen sizes. I had to ensure that the website looked good and was easy to use on both desktop and mobile devices. To overcome this challenge, I used responsive design techniques such as fluid layouts, media queries, and flexible images.
Creating the Backend:
After completing the frontend, I moved on to the backend. I used Node.js and Express.js to create an API that allowed the frontend to communicate with the database. For the database, I used MongoDB and implemented features like CRUD operations and pagination to manage the products and user data. I also implemented authentication and authorization features to ensure that users could only access their own data.
Challenges Faced: One of the main challenges I faced when building the backend was handling large amounts of data. There were instances when a lot of data transfer was supposed to happen without any delays. To overcome this challenge, I used indexing, caching, and pagination techniques to ensure that the website remained fast and efficient even with a large amount of data.
Another challenge that I faced when creating the API was ensuring that it was secure and scalable. I had to implement various security measures such as input validation and encryption to prevent attacks like SQL injection and cross-site scripting. I also had to design the API in a way that could handle a large amount of traffic and scale as the website grew.
Collaboration and Agile Development:
Throughout the project, I worked closely with other developers and designers at Horizon Labs. We followed an agile development methodology, which involved working in sprints, holding daily stand-up meetings, and using project management tools like Jira and Scrum like Trello to track our progress.
Challenges Faced: One of the main challenges I faced during collaboration was communicating effectively with team members who had different backgrounds and skill sets. To overcome this challenge, I made sure to document my code and communicate clearly and regularly with my team members.
My internship at Horizon Labs provided me with valuable experience in creating web applications using the MERN stack. I gained experience in building both the frontend and backend of a web application, as well as managing a database and implementing various features to enhance the user experience. Through this project, I learned about agile development methodologies and how to collaborate effectively with a team. The challenges I faced during the project helped me grow as a developer and gave me valuable experience that I can apply to future projects.