Make an easy way for people to engage in their communities to help alleviate feeling isolated, and motivate community engagement.
What it does
Allows users to post and browse markers on a community map. Filter the markers by what interests you. Certain events will also alert city officials of issues in the community, such as pot holes or illegal dumping.
How we built it
We used a couple of code generators to accelerate our development: Loopback and create-react-app so we could focus on implementing the idea. We front loaded the technical aspects of building the basic app, connecting it to the backend and deploying it.
Then we setup the domain name and began planning. We made wireframes, flowcharts, feature lists and a trello project. This helped us organize how we divided our work.
Challenges we ran into
None of us had any experience with working with uploading, downloading images which was tricker than we had assumed it would be. base64, header meta-data...
Orchestrating all the functionality, from conditionally displaying UI to filtering data based on logged in user credentials was very time consuming.
Even though we had deployed early on as part of our strategy, it was the first time any of us had deployed a web application, so we had to learn on the fly how to setup environment variables for our front end and back end and how to switch them out for deployment. We discovered this because even though our basic early deployment worked, once the front end began talking to the back end, the deployment broke.
Accomplishments that we're proud of
Coordinating the complex task of designing, implementing and deploying a fully functional web application.
Seeing our site on our laptops, desktops, and mobile devices! Working authentication and data persistence. All the broad pieces and many details were put in place and working well.
Many interesting conversations about deign patterns that really evolved our thinking about designing software, such as when to use redux and when to use a components state instead.
What we learned
google-maps-api, google app engine, the awesomeness of loopback, the ease of use of aws s3, the importance of good planning before touching the code.
Using a good UI framework allowed us to have a somewhat decent presentation with very low effort so we could focus on functionality first and foremost.
What's next for CaptainCitizen
Rating system so good citizens can be appreciated by their communities and incentivized to do more for their communities!
Communicate issues with local governments and create admin accounts so they can update statuses.
Improve the look, as functionality was our main focus.