Social Media Platform

pending

A social media platform and photo-sharing app where users can upload, edit, and share photos and videos.

📝 Project Description

It can be said that this project is based on the mechanism of the Instagram platform, but it is not as complicated as Instagram. The purpose of creating this project was to create a team collaboration and face new challenges that could happen in programs with this approach. I did this project together with one of my friends who was responsible for managing and building the back end of this project and I built the front end part of this project myself. This project is a mono-repo, which means both front-end and back-end are kept in one repository.

🌐 Functionality

The functionality of this project includes:

  1. User authentication and authorization
  2. Edit user account
  3. Upload photos and videos
  4. Creating, editing and saving posts
  5. Follow people
  6. Search posts
  7. Manage notifications
  8. and so on.

🔨 Tools

- Front-end:

For the front-end part, I used the React library, and for the routing system, I used the react-router-dom package for the application to be SPA.
I added the shadcnui and tailwindcss packages to the game for user interface components and styling. In order to be able to manage the states of the application, I used the Context API of the reactjs library.

I wanted to perform server side states including receiving, creating and updating post and user information in an optimal way to manage program request errors and cache data in a timely and correct manner, so I used the react package. I used react-query, which is known as tanstack query today. Also from a series of other packages such as: and so on. The functionality of this project includes:

  1. zod : for data validation
  2. react-hook-form : for managing forms
  3. react-helmet-async : for handling titles and html head tags
  4. and so on.

- Back-end:

For the back-end part, we used the Laravel framework, which is a PHP language framework. We used MySQL for database and data storage.

🙏 Acknowledgments

I have to thank my friend who cooperated with me and gave me his time to advance this project together and develop it.Ghaem Elahi

Also, I got help from Adrien (js-mastery) who designed the user interface of this program that was shared to make it.Adrian Hajdin