maraneagu / FixIT-MERN

Project implemented using MERN for the Software Development course of our fourth semester at FMI. Managing an application regarding services of household maintenance.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FixIT-MERN

image

Introduction

We are going to present our fullstack application called "FixIt". This application makes the communication between clients and service providers a lot more fluently and efficiently. Through our platform, users can create an account and search for specific services that they need. Our special feature is that our application is more like a social-media platform, meaning that our customers can add friends. Why would we add that feature? Well, we've thought about it this way: first, when we want to hire someone that we do not know personally we ask a friend, if he/she knows somebody trustworthy. Now, with our application, you can see the reviews of the workers that have done projects for your friends, and see how your close ones reviewed them.

Contributors

Demo

User Stories

TechStack

  1. React for the frontend
  2. MongoDB for the NoSql database
  3. Express & NodeJS for the backend
  4. MUI for styling
  5. React Redux for managing states
  6. Bcrypt for the encryption of passwords
  7. Dropzone for uploading images.

Structure

image
UML Diagram


image
Use Case Diagram


image
WorkFlow Diagram

Homepage


The homepage contains widgets with the user's profile, the people they are following, the feed posts, the search bar, and the category selection bar for filtering.

image

LoginPage & RegisterPage


On the login page, you can log in using an email and a password.

loginPage


On the register page, you can create an account and set your name, location, profile picture, role (master or client), email, and a password.


registerPage

ProfilePage


Master Profile

masterProfilePage

On the profile page, if you are a master, you can see the posts you added, the tips you recommended and the people you are following.


Client Profile

image

If you are a client, you can only see the people you are currently following.

CreatePost


When creating a post, you are sent to a specific form, in which you need to fill in the title, description, the category and the picture representing the post. Here is the form:


2023-06-15 (4)


After you have created the post, you are sent to the specific post page, where you are able to see the full description of the post and the reviews of the post.

ShowPost


A post contains information about the user who made it, with the option to follow or unfollow them, a title, a description, and an image. Users can like the post, add a review, or be redirected to a separate "Show Post" page. If the logged-in user is the one who made the post, he can delete or edit it.

image

EditPost


On this page, you can edit a post by changing its attributes, including the image.


image

TipsPage


Adding a tip is possible only if you have a master account. You can also add Youtube videos.

WhatsApp Image 2023-06-15 at 1 02 41 PM


The "Create a tip" form uses a title, description, category and a Youtube link to create a tip.


WhatsApp Image 2023-06-15 at 1 02 43 PM

Reviews


In the ShowPost, you can view the reviews of the specific post. These reviews have a star rating, a description, and a user associated to them. They can be created and deleted through pop-up windows.


image

Create a review pop-up:

image

ChatGPT Use


We used this AI tool to add comments about what the code was specifically doing and also for generating some UI code.

image

About

Project implemented using MERN for the Software Development course of our fourth semester at FMI. Managing an application regarding services of household maintenance.


Languages

Language:JavaScript 99.1%Language:HTML 0.8%Language:CSS 0.1%