Git Product home page Git Product logo

athletes-be's Introduction

Athlete Profile Input Form

Overview

In this task you'll be creating and deploying a simple, full-stack, responsive, single-page application in Node and Angular 1/ AngularJS (NOT Angular2+) or ReactJS.

Requirements

I would like you to create a multi-step or multi-screen athlete profile form that gathers standard demographic, sports and event data. Here is a list of data points and sports you might want to use:

Data Points

  • Name
  • Date of Birth
  • Location
  • Team (e.g. New York Giants)
  • Gender
  • Sports (Can Multiple)
  • About
  • Interests
  • Profile Image

Sports

  • Golf
  • Tennis
  • Cricket
  • Basketball
  • Baseball
  • American Football
  • Aquatics
  • Archery
  • Automobile Racing
  • Badminton
  • Beach Volleyball
  • Bobsleigh
  • Body Building
  • Boxing
  • Cross Country Running
  • Cross Country Skiing
  • Curling
  • Cycling
  • Darts
  • Decathlon
  • Down Hill Skiing
  • Equestrianism
  • eSports
  • Fencing
  • Field Hockey
  • Figure Skating
  • Gymnastics
  • Ice Hockey
  • Martial Arts
  • Mixed Martial Arts
  • Modern Pentathlon
  • Motorcycle Racing
  • Netball
  • Polo
  • Racquetball
  • Rowing
  • Rugby
  • Sailing
  • Softball
  • Shooting
  • Skateboarding
  • Skeet Shooting
  • Skeleton
  • Snow Boarding
  • Soccer (Football)
  • Squash
  • Surfing
  • Swimming
  • Track and Field

Here is a suggested organization of the form but use your best judgement and creativity:

  1. Basic Info: name, sport, gender, date of birth
  2. About: description, location, team etc
  3. Summary: show the athlete a wrap-up screen with the info they added, and give them a way to go back and edit if there are any mistake
  4. Submit: On submit, the payload should be sent to a simple end point which persists the profile. This should be saved to a simple free MongoDB instance, such as mongoAtlas.
  5. Profile: A well styled profile displaying all the information gathered about the user
  6. List: After submission I should see a list of all profiles I have created

Here are the requirements for the API

  1. Node/Express
  2. Mongoose ORM (MongoDB)
  3. 3 End Points - POST, GET, PUT
  4. Request Param Validation - express-validator (Bonus Feature)

Please note:

  • This is a single-page application. There shouldn't be page reloads between screens.

Time limits

Please spend no more than 5-hours on this test.

Evaluation & priorities

Within your brief 5 hour time limit I hope you'll prioritize the following, in this order. Consider this an iterative process � get it working on sound principles first, then refine and polish as time allows.

  1. Make it work!
  2. Clean and clear code (hopefully you didn't sacrifice this to make it work)
  3. Project organization
  4. Planning: tools used, implementation strategy, basic UX concerns like what to ask for where
  5. Make it look good - just use Bootstrap, a Material theme, or whatever you're comfortable with
  6. Management of data, state, and events internally
  7. Code quality details
  • Type, variable, property checking
  • Failing fast, for better debugging
  1. Extra polish, concern and care will be noticed

Less important details:

  • Tests are great, but I doubt you'll have time.

Hints

  • Be efficient! Please don't reinvent the wheel, use [generators]and other tools when they speed up your process and get you to your end goal faster.

athletes-be's People

Contributors

betakurnia avatar

Watchers

 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.