cmr33-cloud / LAP1PortfolioProject

Community journaling website created by Callum, Elena and Quinn
0 stars 1 forks source link

Presentation Planning #13

Open qlanphere opened 3 years ago

qlanphere commented 3 years ago

Plan the presentation

qlanphere commented 3 years ago

Purpose of App:

  1. To allow anonymous posting of short journal entries
  2. Each entry uses a GIF
  3. Each entry can be reacted with 3 emojis

Planning & Delivery

  1. Layout and functionality was planned in Excalidraw
  2. All collaboration was done via the GitHub repo

Technologies and Code

  1. We deployed our website using Heroku for the server and Netlify for the client
  2. We also used express, cors, and jest
  3. We used a combination of get, post, patch, and put requests to build this website. Post for creating new entries, patch for modifying the emoji count, and put for adding comments
  4. The data received from the client is saved onto a JSON, unfortunately this doesn't work on HEROKU so the entereddata only stays temporarily
qlanphere commented 3 years ago

Challenges and Solutions

  1. Getting the front and back end to communicate properly was a challenge, we had to experiment with different fetch methods to achieve the required results.
  2. Merging everyone's code was a challenge, but we got on a call and made sure everything went smoothly.
  3. We struggled to find good examples to help us make the client-side tests, so unfortunately they don't get the coverage we would like.

Test Coverage

  1. Test coverage on the server-side was really good, it was at 80% before we implemented the file writing, which dropped it down to 60%.
  2. The client-side testing, unfortunately, didn't go as well. We struggled to get the tests to work and realized that without significant refactoring, the tests would be hard to implement.

Future Features & What We've Learned

  1. Multiple gifs previewing at once so you get a better selection
  2. Ability to sort the timeline by number of reactions and/or comments
  3. It is important to consider tests on the client side when writing functions