Skip to content

k-dodsonknapp/Cara

Repository files navigation

Carra

Table of Contents

  1. General Info
  2. Wiki-Documentation
  3. Technologies
  4. Installation
  5. Collaboration
  6. Images

General Info


Carra

Carra is an application where users can post questions about their vehicles and the community can share their knowledge by answering questions. Users are able to interact further through comments to form meaningful discussions.

  • Link to live Carr project.

Carra Login page

carraLoginPage (2)

Carra Sign up page

carraSignUpPage

Carra Home page

carraHomePage

Question details page with an answer and a comment

questionDetailsPage

Topics page w/ questions related to topic

topics

Wiki Documentation:


Technologies


Technologies used within the project:

Languages


  • JavaScript
  • Pug
  • CSS
  • Postgres
  • Sequelize
  • SQL
  • Heroku

Installation

To install Carra on your local machine please clone the project repository. Once the project has been cloned run npm install in your terminal to install dependencies.

 git clone https://github.com/k-dodsonknapp/Cara.git
 npm install
 npm start

To use the application in a development environment use npm start to start.

Collaboration

This project was developed by a group of four developers Aaron Short, Chris Ramos, Eric Cortez, and Kenneth Dodson-Knapp. Below are the top two features of the project and a brief description of challenges faced during the one week development cycle.

Highlight features:

  • Question Delete: The implementation of the dynamic delete frontend route allows you to delete a question on the home page without the need to be redirected to a new page. This feature was implemented using an event listener to manipulate the document object model and remove the element from the page. This is done through a fetch request in the event listener which reaches an endpoint on the backend to remove the question from the database.
  • Home Page: The home page displays nested elements as it allows users to post question, answers, and comments. The nested nature of this features required extensive use joint table query searches in addition data manipulation with pug in order to ensure that the question, answers, and comments all correlated to ensure data integrity. Lastly, we ensured user authentication and permissions when enabling edit and delete features.

Challenges:

  • The planning phase of this project was challenging as it require nested features, which were more difficult to implement than anticipated. Initally we decided to work along side one another but found that we need to work on the same phase for each feature in order to test and refactor our routes to make sure that the functionality was the same across the board.
  • During the implementation of the database we came up against an unforseen problem with our nested features that were dependant on one another that made it more challenging to have working CRUD features. Specifically the deleting of our nested dependencies which required the use of cascading hooks in our sequelize models.
  • Having our site use a uniform style. We realized early on that we needed to pay attention to the way we styled one page so that when our users moved through our site so it flowed seamlessly allowling them to uniterrupted navigation.
  • For a while we struggled to make sure that the person logged in was the only one that could delete or update content that they had made. Ultimatley it came down to authorization of the user when logged in they were the only ones that could use the delete/edit buttons.

Images

Event Listener for dynamically deleting content

eventListener

Pug form for the home page of Carra aka question list

questionListPug

Code snippet of the route to post a new question

postNewQuestion

Code snippet of the route to edit an answer

submitEditAnswer

Code snippet of the route to get a form to post a new comment

getNewCommentForm

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •