Files
freeCodeCamp/curriculum/challenges/english/10-coding-interview-prep/take-home-projects/build-a-voting-app.md

51 lines
1.9 KiB
Markdown
Raw Normal View History

---
id: bd7158d8c443eddfaeb5bdef
title: Build a Voting App
challengeType: 4
forumTopicId: 302359
---
## Description
<section id='description'>
Build a full stack JavaScript app that is functionally similar to this: <a href='https://fcc-voting-arthow4n.herokuapp.com/' target='_blank'>https://fcc-voting-arthow4n.herokuapp.com/</a>. Use a site builder of your choice to complete the project.
Here are the specific user stories you should implement for this project:
<strong>User Story:</strong> As an authenticated user, you can keep my polls and come back later to access them.
<strong>User Story:</strong> As an authenticated user, you can share my polls with my friends.
<strong>User Story:</strong> As an authenticated user, you can see the aggregate results of my polls.
<strong>User Story:</strong> As an authenticated user, you can delete polls that I decide I don't want anymore.
<strong>User Story:</strong> As an authenticated user, you can create a poll with any number of possible items.
<strong>User Story:</strong> As an unauthenticated or authenticated user, you can see and vote on everyone's polls.
<strong>User Story:</strong> 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.)
<strong>User Story:</strong> 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.
</section>
## Instructions
<section id='instructions'>
</section>
## Tests
<section id='tests'>
```yml
tests: []
```
</section>
## Challenge Seed
<section id='challengeSeed'>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>