Welcome to the Group Project! You should know your group, and the following group preparation work should have been completed...
- Appoint a Team Captain
- Choose a Name for the Group
- Select a Team Mascot from Google Images
- Take a Group Picture
- Motivational Team Slogan
Build an Online Voting web application using HTML/CSS/JS and the libraries React and Redux
The application must support 2 of 3 workflows. If you have any time remaining between the completion of the 2nd workflow and 10:30am on Friday, then complete the 3rd workflow.
- Create a voter registration system which collects the following information from the voter.
First Name Last Name Address County/City Birthdate Email Phone
-
From a main screen, the user will click a "Register Voter" button. A registration form will be displayed. The user will enter the data, click "Complete Registration" and return to the main screen.
-
Finally, on the main screen there should be a button to display the list of registered voters.
-
Once created, user's cannot be modified or deleted.
-
From the main screen, select a ballot to be use for voting. Then click a button named 'Vote' to commence the voting process.
-
The user should type in their identifying information. If their information is valid the ballot should be shown. If the user information is not valid, the ballot should not be shown, and an error message should be shown.
-
The ballot should list the items under consideration with a checkbox next to each item. Checking the box is considered to be 'Yes', leaving it blank is a 'No'.
-
When the ballot has completed, the user should click a 'Cast Vote' button. A success screen is shown with a button to return to the main screen.
-
Elections are a list of three questions. Create a form to collect new element, and a table to display the elections in the system.
-
Each row in the table should a 'View Results' button to see the completed ballots for a particular election.
-
Once created, elections cannot be modified or deleted.
-
The theme of the web site should match the color sheme of the mascot image.
-
On each page, display a header which includes the team name and mascot picture. Also, include some kind of motivational team slogan statement in the header.
-
Elsewhere on the main page, dislay the team photo.
-
Concerning state, use Redux to manage application state, use React to manage form control state. Please use React-Redux to connect React and Redux, and use Redux-Thunk for handling asychronous operations.
-
Where possible use stateless functions instead of class components.
-
Each component and other classes should be in their own files.
-
Use Flexbox to organize the various buttons on the main page which start the workflows.
-
Two of the three workflows are completed. For the workflow you do not complete, please manually add the mock data created by that workflow to the database for use by the other workflows.
-
There are no errors in the console.
-
All of the requirements are met.
-
Each member of the team made a significant contribution, and can describe to the instructor what they coded (this will be asked publicly during the presentation).
-
The application looks good. There will be some evidence of effort to make it look good and use the color theme.