Skip to content

Dhiggins94/RepairMe

Repository files navigation

PROJECT 4 README

Repair me website


Overview

RepairMe is a full-stack application that allows a user to post repair guides for products that may be broken or need replacing. authorized users have the ability to create update and delete repair guides. non users can still view the site as intended.


MVP

The website's should be able to allow the user (when signed in) to make repair guides for electronics,edit their guide, and delete their guide. those guides should be stored in categories for those products, and those products should be in categories as well.


Goals

  • Build a Ruby On Rails server with RESTful JSON endpoints
  • Building a database that will consist of multiple tables
  • Complete full CRUD funtionality
  • User authorization and authentication will be avalible
  • Implement CSS flexbox with 2 media queries

Libraries and Dependencies

Library Description
React i would need a react app
React Router i need react router dom for things like routes
Ruby the coding language we'll use for backend
Ruby on rails a gem package we'll be using with ruby for the backend
Axios assist in making api calls i can also test in postman

Client (Front End)

Wireframes

Wireframes Desktop

Wireframes Mobile

Component Tree

Component Tree

Component Architecture

Use this section to define your React components and the data architecture of your app. This should be a reflection of how you expect your directory/file tree to look like.


src
|__App.js
|__index.js
|__assets/
|__ components/   
     |__Layout/
      |__Layout.jsx
      |__Layout.css
     |__Navbar/
        |__Navbar.jsx
        |__Navbar.css
     |__Header/
     |__Header.jsx
     |__Header.css
     |__ screens/
         |__Products.jsx
          |__ProductDetails.jsx
           |__RepairGuide.jsx
            |__CreateGuide.jsx
             |__EditGuide.jsx
      |__containers/
       |__MainContainer.jsx
     |__ services/
      |__api-config.js
       |__electronicItem.js
       |__repairGuide.js
       |__auth.js

Time Estimates

Task Priority Estimated Time Time Invested Actual Time
Create rails app L 3 hrs 0 hrs 0 hrs
Make controllers M 3 hrs 0 hrs 0 hrs
Make Models M 3 hrs 0 hrs 0 hrs
Generate tables M 3 hrs 0 hrs 0 hrs
Add Seed Files L 3 hrs 0 hrs 0 hrs
Add Form M 3 hrs 0 hrs 0 hrs
Create react app L 3 hrs 0 hrs 0 hrs
Create Auth H 3 hrs 0 hrs 0 hrs
Create CRUD for Guide H 3 hrs 0 hrs 0 hrs
product H 3 hrs 0 hrs 0 hrs
Electronic items H 3 hrs 0 hrs 0 hrs
media queries. M 3 hrs 0 hrs 0 hrs
repair guides M 3 hrs 0 hrs 0 hrs
API testing M 3 hrs 0 hrs 0 hrs
Flexbox/css M 3 hrs 0 hrs 0 hrs
Basic css H 3 hrs 0 hrs 0 hrs
Debug H 3 hrs 0 hrs 0 hrs
Deployment M 3 hrs 0 hrs 0 hrs
Deployment debug M 3 hrs 0 hrs 0 hrs
TOTAL N/A 54 hrs N/A hrs TBD

Server (Back End)

ERD Model

ERD


Post-MVP

post-mvp's would be adding a comment section, instructional video repair guides.


Code Showcase

Im proud of this code snippet because it's my dropdown list. i was having great diffiuclty in applying since i wanted the them to be connected by their electronic ID and it after a long struggle of doing so it turned out the fix was very simple which was to change electronic.id into a electronic_id.

<form onSubmit={handleSubmit}>
      <select
        className="dropdown"
        name="electronic_id"
        defaultValue="default"
        onChange={handleChange}
      >
        <option disabled value="default">
          select electronic
        </option>
        {electronics?.map((electronic) => (
          <option value={electronic?.id} key={electronic?.id}>
            {electronic?.name}
          </option>
        ))}
      </select>
    </form>

Code Issues & Resolutions

one problem problem i had was my crud funtionality, nothing would be created properly due to error 422's and the answer to those was to connect my frontend better to by backend by changing my syntax.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors