A group of indecisive friends want to go out for dinner, but they cannot all decide on one place to go to.
Chewse lets people vote on where or what they want to eat. They can add nominate any number of choices during a brainstorming period, and then they can vote on wherever they want to go within another period of time. The choice with the most votes will be displayed and helps the voters come to a final decision.
Chewse will have one person create a room and other people join the room
Room Maker One person will create a room. When they create the room, they will have the option to choose the amount of time they would like to have in order to submit nominations for what to eat. Once they make the room, a join code will be generated and can be given to other people so they can join the room. Once people have joined the room, the room maker can begin the nomination period.
Other Voters
More voters can join by choosing the option to join a room. They use the join code that was generated when the room maker created the room. They enter the join code and they will join the room.
Nomination Process
Once the room maker begins the voting process, everyone in the room can begin entering submissions by typing it and entering it. The amount of time they have to submit any choice they want is dependent on the time set by the room maker.
Voting Process
Once the amount of time to nominate has finished, all options will be listed. All voters will be able to decide within the same time period the choices they want to select. They can vote on the choices listed, and they can select more than one option.
Results
Once the second time period for voting is over, the choice with the most votes will be displayed with how many votes it had. If there is a tie, then the choices with the same number of votes will be displayed.
We created a server back-end where we could have our user inputs and so we could use the application among phone users through the Internet. We decided to implement with Java.
Initially our team came in with a vague idea of what to do for our project, but we scrapped the ideas we came in with and had to invest time into brainstorming.
Once we started testing, we we able to run a straightforward simulation of the voting process. Once we considered different scenarios and possible outcomes, we found multiple obstacles that we had to overcome, such as dealing with tie votes and invalid nominations.
The brainstorming phase was an important part of our project process because we were able to brainstorm our ideas and share them. We knew that we could use a server for our project but most of us were unfamiliar with dealing with them. But with good progress and pacing, we were able to make a server back-end and an app from scratch.
We learned that a diverse team can actually be very effective in creating a project like this. We did not have every member know how to program, but it worked out very well for us because responsibilities were not difficult to divide. We also learned how to server host for this project, which we were unfamiliar with beforehand. We also had to consider the overall design process and think about the entire approach. We started on paper and listed inputs and outputs as attributes for bigger units of the program. We learned that doing it this way was good for us because it helped pace our progress. We learned that doing research on our project helped make sure that what we were doing was relevant to our audience.
We have a basic interface on the Android application. We have designed a cleaner interface but it is not in the actual application yet.