Files
freeCodeCamp/curriculum/challenges/english/10-coding-interview-prep/take-home-projects/build-a-voting-app.md
Oliver Eyton-Williams ee1e8abd87 feat(curriculum): restore seed + solution to Chinese (#40683)
* feat(tools): add seed/solution restore script

* chore(curriculum): remove empty sections' markers

* chore(curriculum): add seed + solution to Chinese

* chore: remove old formatter

* fix: update getChallenges

parse translated challenges separately, without reference to the source

* chore(curriculum): add dashedName to English

* chore(curriculum): add dashedName to Chinese

* refactor: remove unused challenge property 'name'

* fix: relax dashedName requirement

* fix: stray tag

Remove stray `pre` tag from challenge file.

Signed-off-by: nhcarrigan <nhcarrigan@gmail.com>

Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
2021-01-12 19:31:00 -07:00

38 lines
1.5 KiB
Markdown

---
id: bd7158d8c443eddfaeb5bdef
title: Build a Voting App
challengeType: 4
forumTopicId: 302359
dashedName: build-a-voting-app
---
# --description--
Build a full stack JavaScript app that is functionally similar to this: <https://fcc-voting-arthow4n.herokuapp.com/>. Use a site builder of your choice to complete the project.
Here are the specific user stories you should implement for this project:
**User Story:** As an authenticated user, you can keep my polls and come back later to access them.
**User Story:** As an authenticated user, you can share my polls with my friends.
**User Story:** As an authenticated user, you can see the aggregate results of my polls.
**User Story:** As an authenticated user, you can delete polls that I decide I don't want anymore.
**User Story:** As an authenticated user, you can create a poll with any number of possible items.
**User Story:** As an unauthenticated or authenticated user, you can see and vote on everyone's polls.
**User Story:** As an unauthenticated or authenticated user, you can see the results of polls in chart form. (This could be implemented using Chart.js or Google Charts.)
**User Story:** As an authenticated user, if you don't like the options on a poll, you can create a new option.
When you are done, make sure a working demo of your project is hosted somewhere public. Then submit the URL to it in the \`Solution Link\` field. Optionally, also submit a link to your project's source code in the \`GitHub Link\` field.
# --solutions--
```js
// solution required
```