bkyoung / rejection

You gotta lose to win. A project to practice React skills.

Home Page:https://rejection-bkyoung.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rejection

A portfolio project for professional developers to highlight skills with modern tech stacks like React, Redux, Serverless, etc. EricElliottJS.com.

Want to work as a team?

You gotta lose to win.

Train yourself to:

  • Get a raise
  • Sell more
  • Develop more business
  • Negotiate better deals

The game has one rule:

You must be rejected by a human being at least once per day.

Ask for things outside your comfort zone, and you'll find yourself winning a lot more.

Win = 1 point. Rejection = 10 points.

How long can you make your rejection streak last?

Basic Level

Build a UI that lets you keep track of your score. Include a text input for the ask, who you asked, and two buttons: "Accepted" or "Rejected". For asynchronous requests such as emails or messages, record the score at the time you get the answer, not at the time you ask.

Use HTML+CSS and store a record of the data in localStorage.

Your data structure can be a simple array of ask objects:

interface Question {
  id: String,          // id of the question so you can get/edit/remove by id
  timestamp: Number,   // output from Date.now()
  question: String,    // the ask
  askee: String,       // person asked
  status: String       // 'Accepted', 'Rejected', 'Unanswered'
}

You can calculate everything else you need to know by reducing over the list of asks.

It may be useful to display a running tally of the user's current score. Just remember that the current day's subtotal needs to be recalculated each time an ask is accepted or rejected, so it will be useful to keep the list in an array that you can reduce with each new ask added by the user.

Mid level

Add an API to store data using a web service and database. Track multiple users (which means you'll need to add user authentication).

Try Firebase for data storage.

Extra credit

To Implement:

  1. Fork this repo
  2. Implement your solution.
  3. Open an issue with a link to your fork.

To get credit, you must open an issue with a link to your fork.

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.js. The page auto-updates as you edit the file.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.js.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

About

You gotta lose to win. A project to practice React skills.

https://rejection-bkyoung.vercel.app/

License:MIT License


Languages

Language:JavaScript 100.0%