Giter Club home page Giter Club logo

envoy-client's Introduction

Envoy - Client

This application allows users to post messages and images to a discussion board so they can share their content and interact with other posts from other users.

Important Links

-Envoy Express Api Repo -Envoy Client

Planning Story

As a group we chose to tackle the message board prompt and we decided to try and reproduce a simplistic version of a Reddit-like message board. Once we built a working backend API with which we could CRUD on multiple resources, we began working on the front-ent by brainstorming the various routes and components that needed to be built for the React app. Once we knew what components needed to be created and rendered, we each focused on a resource and built the frontend components to successfully CRUD on these resources.

We ran into an interesting bug when we tried to run an axios API call within a useEffect hooks function that didn't have a dependency array. The component to which this function belonged to was never unmounted, but sat in the background of two bootstrap modal components which had their own respective resource crud actions. Upon successful submission of these forms, the modals would disappear and the original component would correctly display the new API index call which it was making; however, this wasn't an ideal behavior as the useEffect function was running in an infinite loop. To fix this bug we decided to include the modal components as part of the original component making the infinite API calls so that we could toggle some state parameters to selectively set off the API call that was originally running on repeat.

User Stories

  • As an unregistered user, I would like to sign up with email and password.
  • As a registered user, I would like to sign in with email and password.
  • As a signed in user, I would like to change password.
  • As a signed in user, I would like to sign out.
  • As a signed in user, I would like to add a post to the message board.
  • As a signed in user, I would like to update my post on the message board.
  • As a signed in user, I would like to delete my post on the message board.
  • As a signed in user, I would like to see all my posts on the message board.
  • As a signed in user, I would like to view all other users' posts on the message board.
  • As a signed in user, I would like to comment on other users' posts on the message board.
  • As a signed in user, I would like to edit my comment on other users' posts on the message board.
  • As a signed in user, I would like to delete my comment on other users' posts on the message board.

Technologies Used

  • JavaScript
  • HTML
  • CSS
  • CSS Sass
  • ReactJS
  • Ajax (Axios)
  • Bootstrap

Unsolved Problems/Future Updates

  • Would like to eventually add a current news API integration with a carousel of latest news.
  • Would like to eventually add a spell check feature.
  • Would like to eventually add the functionality to like posts and rank posts based on number of likes.
  • Would like to eventually allow users to add tags to posts and categorize their posts.

Wireframe and ERD

envoy-client's People

Contributors

sean-drew avatar gambinos14 avatar sharon-zhao avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.