Skip to content

haydenf/mern_final_app

Repository files navigation

Start-up Again

GitHub

Deployment

Trello

Presentation

WebApp SetUp:

  1. Navigate to desired directory in Terminal
  2. Enter git clone https://github.com/haydenf/mern_final_app.git in terminal
  3. Navigate into the mern_final_app folder
  4. Enter npm install in terminal
  5. cd into 'client' folder and enter npm install in terminal
  6. cd out of client folder and enter npm run dev

Website Description

StartUp Again is a website bringing entrepreneurs and products/ideas together.

Purpose

We are creating a two sided marketplace for entrepreneurs called StartUp Again. This web app will help unsuccessful startups to on-sell their ideas - they may have had a great product, and out a lot of time, energy and resources into it, but were unable to get the business off the ground. Rather than take the full loss, the founder may be able to on-sell their product, gleaning back some of their outlay, while the buyer receives a product they feel is viable.

Functionality / Features

We have 5 sprints of features:

  1. Our most basic MVP
  • Users may login and create a profile
  • Users may create, edit, update and destroy their own listings
  • Logins shall be authenticated
  1. Everything from step 1 plus -
  • Admin will be able to moderate the web app along with deleting any toxic messages or spam listings
  • Private messaging for users to talk to each other
  1. Everything from 1 and 2 plus -
  • Users may create a watchlist of products they may be interested in
  • Users can upload and swap NDAs and contracts
  1. Everything from the first 3 plus -
  • Users may tag their product by category eg financial, fashion, disabilities, tech etc
  • Users may search for startup products/ideas by category
  • Users may bid on products
  1. This is the ultimate idea. It is all 4 previous points plus -
  • Sort by popularity
  • Being able to list you product as either an auction or buy it now
  • Thread comments on a product

Target Audience

Our target audience fall into two main groups of people:

  • Those who have attempted a StartUp and it has not been successful - they may have put a lot of time, resources and energy into the idea but unable to get the business off the ground. Here they can recoup their costs and see their idea come to fruition.
  • Those who would like to start a business and may not have a viable idea to run with, or just enjoy the challenge of bringing an idea to life - entrepreneurs may have seen a product they really like and can see a future for it. They may have the right connections or capital to make it happen. This is a platform for entrepreneurs to grab a great product and make it their own.

Tech Stack

  • MongoDB
  • ExpressJS
  • React
  • NodeJS
  • Heroku
  • Jest / Enzyme
  • Redux
  • Semantic UI
  • Middlewares
  • Git
  • Slack
  • Trello
  • Sketch

Dataflow Diagram

Dataflow Diagram

Application Architecture Diagram

Application Architecture Diagram

User Stories

  • As Fred, I want to advertise my partially developed technology so I can gauge interest in it.
    • As Greg, I want to create an ad for my partially developed start-up technology so that I can recover my losses.
    • As Greg, I want to be able to edit any ads I place out so that I can make updates or corrections.
    • As Greg, I want to be able to delete my ads so that I can prevent untimely messages.
    • As Sarah, I want to be able to view all listings I am interested in so I can compare them.
    • As Louis, I want to be able to tag my ads so that potential buyers can find them more easily.
    • As Louis, I want the ability to receive offers on my technology so I can get competitive deals.
    • As Louis, I want the ability to search by popularity so I can see competing ideas.
  • As Peter, I want to see legitimate listings and user profiles so I know I can trust them.
    • As Sarah, I want to read a listing of different technologies with potential so that I can purchase new ventures.
    • As Bobby, I want to have authenticated login so that all user identities have an extra layer of authenticity.
    • As Bobby, I want to view the profiles of other users so I can understand more about them.
    • As Bobby, I want a dashboard to edit my profile so that I can update it at any time.
    • As Natalia, I want to have a website admin so that all listings, users, and messages are moderated.
    • As Natalia, I want to upload and swap contracts, NDAs and T&Cs so that legal issues can be handled.
  • As Christina, I want to be able express my interest in a product so that potential sellers are aware of me.
    • As Sarah, I want to be able to directly message other users so that I can discuss their offerings.
    • As Reggie, I want the ability to leave comments and start conversations so I can see what other people think.
    • As Reggie, I want the option to buy or bid on a product so I can see the likelihood of a successful purchase.
    • As Natalia, I want to be able to search by category so I can easily see relevant and interesting technologies.

Screenshots of site

Wireframes

Desktop wireframes

Screen Shot 2019-12-04 at 2.04.47 pm

Landing page

Sign in

Sign up

Dashboard

Listings

Individual listings

Mobile Wireframes


Welcome page

welcome

Signup

signup

Nav

nav

Dashboard

dashboard

Listing

products

Single listing

![single products](./docs/WireFrames/single products.png)

Trello

Live version

27/11/2019 Trello 01

2/12/2019 - Morning

2/12/2019 - Afternoon

3/12/2019 Trello 04

9/12/2019 Trello 05

13/01/2020

14/01/2020 Trello 07

15/01/2020 Trello 08

16/01/2020 Trello 09

18/01/2020 Trello 10

Strengths of the Team: Ewe Lin felt confident in setting up the oauth and getting that to function well for an easy and secure login experience Hayden was our redux expert creating hooks and making it easier to access global variables in the frontend Jo tackled the frontend styling with Semantic UI for React making everything look sleek

Weaknesses of the Team: Our entire team struggle with understanding how the frontend and backend spoke to eachother once react was introduced. We also had a hard time with JWT. Overall we did not expect some of the bugs we got and they took up much more time than expected. We were hoping t get to our second level of our MVP, but ultimately finished our first sprint for the most part and ended up with a much simpler MVP than we had hoped for.

User Testing in Dev:

Other than extensive playing ourselves during development to make sure everything worked a it should we also gave it to others and their comments were:

User #1: Looks really nice. Login looks good. Google auth looks good. Cards look nice. They pop up when i click them that's cool. I can edit and delete mine. I seem to be able to change others too although it doesn't actually save so I guess I'm not actually changing them ok. My profile is cool but doesn't show me much. Seller profile is always the same too, even on the one I posted. Looks pretty nice overall.

User #2: I like it. It looks great, everything seems to work fine.

User #3: Nice UI. Looks clean. Login doesn't seem to work. Google does though. Can view products. Products add. Products edit and delete. Seller profile seems like dummy data, but looks good. Same for profile, although my name is there, and loks good. Overall simple but clean. I like it.

User Testing in Prod:

When testing in prod we have found:

User #1: Ok so yes I did it on my phone and not so great... I Didn’t realize that I had to be logged in to add a product... The 'my profile' page does not do much... I didn’t realize the product blurb was to be short, not that it was the “catchy one liner.” Hard to read the writing over the light globe pic on the dashboard. When I look at other products I can select the text box and type in it but the info does not save. Overall though pretty nice looking

User #2: It won't work in Line Browser (line is an app they use often)

User #3: It looks good. Login is funny although the google one works fine. Can add products pretty easily. I can look at other producst pretty easy. All the buttons work fine. Although meet the seller always goes to the same person, even if it was mine.

User #4: Just did. Tested it with latest Firefox on the desktop.

No UI issues, all nice and clean.

Your authentication doesn't work tho. I can't create a new account using the Login option. I didn't try the login with Google option. The products section doesn't allow me to add anything either.. but hey, I'm not an authenticated user so not surprised.

Further - When talking with our client at the start of the project he shared several ideas with us. Ultimately he said he would give us a lot of free reign in the project and see what we came up with. We assessed what he had told us and got back to him shortly after with out ideas, wireframes, sprints and MVP. He was pretty happy with it although did ask us to change the colour scheme to be a little lighter and gave us Gumtree as an example to follow.

On completion of the assignment we contacted him again and screenshared our work and sent him the link. He thought we had the ability to achieve more but due to unfortunate bugs we did not. He did, however, like the changes to our colour scheme. He also asked us about our internships and offered that if we needed any help setting them up he could help us.

Formal Testing: Enzyme and Jest were used as a formal framework for testing

Things we did not enjoy: We found this a stretch and definitely frustrating at times. Overall JWT proved to be far more difficult than any of us had anticipated, and the backend and frontend talking confused us all for quite some time. Testing was also a little dry and tedious.

Things we enjoyed: Seeing everything come together I think almost surprised us in how good it ended up looking. We all started off feeling quite unsure of ourselves and somehow we managed to pull off an MVP. It may not have been the full extent of what we were hoping for, but it was a pretty solid effort.

Future implementations: We would have liked a few things to be different but ran out of time due to some unexected bugs. Our MVP did mostly end up completed. The next thing wuold really be to have proper implemented profiles. From there messaging between users would be the next big step.

About

Final project for CoderAcademy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages