We need to start out our simulation by creating a simple budget simulation to further work off of and develop into more sophisticated simulation. The budget simulation will allow the user to set the amount (using percentages) of the country's budget that will go to different projects/categories that the people might actually care about. The user can then see how many people in the population support their budget under the conditions for supporting that we currently have (right now it is a very simplistic yes/no model based on a citizen's needs, but we will later sophisticate this to include different political science models of voting and including more complicated citizen preferences and demographics). Part of this will include creating a Citizen class that can be used to instantiate citizens and their preferences as well as creating a Population class that will hold all of the Citizens. In the frontend, we want to display the demographics of the population, to better help the user decide how to spend the budget, and give the user the ability to change the proportion of the budget given to a certain cause. Finally, the user needs to be able to see the affect that their changes to the budget have on the population.
On the backend:
[x] Create a Citizen class that for now will have boolean preferences for a few different issues
[x] Create a Population class that randomly creates a set amount of citizens with different preferences based on a distribution
[x] Create a serializer, path/url, and a way for the frontend to access the Population that is created
[x] Create another serializer, path/url, and way for the backend to get the budget from the frontend
[x] Using the budget, determine whether each citizen would approve of the budget and send that information back to the frontend.
On the frontend:
[x] Create a page to display the Budget and the aggregate preferences of the population
[x] Create an interactive component for the budget that allows the user to set the amount that will be used
[x] Send the budget data back to the backend
[x] Once each citizen's preference for the budget is calculated, display that information for the user
We need to start out our simulation by creating a simple budget simulation to further work off of and develop into more sophisticated simulation. The budget simulation will allow the user to set the amount (using percentages) of the country's budget that will go to different projects/categories that the people might actually care about. The user can then see how many people in the population support their budget under the conditions for supporting that we currently have (right now it is a very simplistic yes/no model based on a citizen's needs, but we will later sophisticate this to include different political science models of voting and including more complicated citizen preferences and demographics). Part of this will include creating a Citizen class that can be used to instantiate citizens and their preferences as well as creating a Population class that will hold all of the Citizens. In the frontend, we want to display the demographics of the population, to better help the user decide how to spend the budget, and give the user the ability to change the proportion of the budget given to a certain cause. Finally, the user needs to be able to see the affect that their changes to the budget have on the population.