GAxDataDog - Survivors: BarkPark

Screen Shot 2020-05-21 at 11 26 40 PM

BarkPark is a single page webapp that allows colleagues to hangout, collaborate and get stuff done. In a socially-distant world where working from home is the new normal, BarkPark is a tool that allows us to stay closer while six feet or more apart.

This project was created for the GAxDataDog Hackathon in May 2020 by team Survivors which is comprised of the following GA alumni:

  • UXDI: Ajani
  • UXDI: Victoria
  • SEI: Trish
  • SEI: Corinna

Original wireframes are available on Figma here:

https://www.figma.com/file/L0of93yGm6FEjcjLsxhlkg/Hackathon-GA-X-DataDog?node-id=0%3A1

Login/Signup:

Screen Shot 2020-05-22 at 1 04 00 AM

Homepage/Dashboard:

Screen Shot 2020-05-21 at 11 20 27 PM

Tasks/Projects/Events/General Cool Stuff to do:

Screen Shot 2020-05-21 at 11 23 51 PM

Task Detail Page + Functions

Screen Shot 2020-05-22 at 12 36 23 PM

Global User Activity Feed

Screen Shot 2020-05-22 at 1 40 14 AM

Technologies used (MERN stack + more!):

Front-End:

  • React.js
  • (Gatsby.js)
  • JavaScript
  • HTML
  • CSS (Flexbox)
  • Bootstrap
  • A tiny bit of jQuery

Back-End/Database:

  • Node.js
  • Nodemon
  • Express
  • Mongoose
  • MongoDB
  • PHP
  • AJAX
  • (GraphQL)
  • (TypeScript)

Plugins/Dependencies/APIs:

  • Axios
  • React-Router
  • React-Reveal (for CSS animations)
  • Faker API
  • (Firebase)

Routes:

  • POST /api/sign-in
  • GET /api/items
  • POST /api/items/id
  • PUT api/items/id
  • DELETE api/items/id
  • GET api/users
  • POST api/users/id
  • PUT api/users/id
  • DELETE api/users/id

Authenticated routes are (2FA) password-protected and include create, update, read item/user by ID and edit + delete items/users by ID. Read all items is non-password protected and technically publicly visible (still have to pass first round of auth). Here's a quick snapshot of typical user route activity:

Screen Shot 2020-05-22 at 9 55 34 AM

Preliminary ERD + Flowchart

image

ERD

Post-MVP goals:

  • Build out chat feature using ChatKit API
  • Get deployed version closer to original wireframes from UXDI team
  • Implement Trello-like taskboard on Homepage
  • Flesh out teams page with actual users, make profiles clickable
  • Port everything to Gatsby for half the runtime of create-react-app + GraphQL awesomeness
  • Implement Firebase for seamless authentication (current workaround is a bit janky with terrible UI, but works)

bark1