The city of Fenix has a new policy that involves ensuring that its citizens can actively participate in solving problems. For this, it is proposed to create a platform where the ideas generated by the population can be inserted so that they can later be discussed during government meetings.
Your task is to build this space where you can perform the following functions:
As a citizen:
- Insert Idea about a possible improvement in the city. The ideas have a title, a description, they can have images and a category.
- Comment on another person's idea. The objective of this functionality is to propose improvements.
- View ideas posted by other people. It is related to the previous item.
Government :
- Insert problems that the government wants to deal with to get ideas for resolution.
Remember that the ideas may be associated with a problem (because it was proposed by the government) and others were only created at the initiative of the population. In your development, you must make it clear when an idea is your own initiative and when it responds to a challenge.
Think that this platform tries to follow the proposal made by social networks, where high interaction with users is achieved but always around the objective of generating ideas that achieve a positive impact on the city. Therefore, following this philosophy, you can add the functionalities that you consider appropriate.
- Fork this repository. Then during deployment create at least one working branch (in addition to master).
- Use of React and associated libraries.
- Data persistence during the session. Have initial examples.
- Documentation. Functionalities explanation. Deployment Instructions.
- Testing
- Dockerization.
Good Luck!