A full-stack application that helps to visualize data about countries around the world.
Made with contrib.rocks.
With the growing acceptance of remote work, many people are reconsidering where they want to make their home. For some people this means a potential move overseas. This app is designed to help people looking for a new home by providing data on countries and their social performance so users can make informed decisions about where in the world to live.
Original Deployment Date: 12/11/22
Deployed Site: https://migrate-abroad.herokuapp.com/
To use this application, visit the deployed site.
Deployed Landing Page
Once you're there, you'll have several options to explore.
Regardless of which option you choose, you'll eventually be taken to a page that shows information about that country.
Deployed Country Page Deployed Data Details
NOTE: This option is only available with the Line Graph data type
To compare two countries, click on the compare toggle switch and search for a country in the new search field that appears. Once you search for a country you will see that nation's scores on the expanded graphs.
To deploy the application locally run npm run develop
in the terminal from the root
folder.
This project began as a final project for the Full-Stack Bootcamp at the University of Texas. After brainstorming possible projects, our group decided to pursue Migrate. We found data from the Social Progress Index that could be used in the application. We were able to download our own local copy of the data used by the Social Progress Index (with a donation to the organization) and import it into a new MongoDB instance.
Once we decided on the project, we began wireframing ideas on how the site should work.
Process: Mockup v2
Process: Mockup v1
With multiple versions available, we made decisions on what features would be most valuable as well as what could be completed in our one week timeframe for the camp. We finally settled in on a combination of the two main wireframes to get the layout of the page.
At this point the team split into backend and frontend development teams. While everyone worked on both sides at some point, we found it best to really focus on our personal strengths for this project.
The overall flow of user experience was laid out first.
Process: Wireframe
While some aspects of our original flow was ultimately deemed too ambitious for our timeline, the initial chart helped develop the schema for our database as well as the structure of the site.
As the backend team starting building out the basic server functions, the front end team worked on developing branding and color stories. We used Canva to lay out some basic ideas for logos and art. We also used Material Design concepts from Google to choose colors and interaction states. We also talked about front end frameworks like Bootstrap or Material UI. It was suggested that instead of using a framework, we code the entire site with vanilla CSS. In the end we agreed to that plan and started building out expansive CSS with some help from SCSS in order to get all the functionality we needed.
Process: Style Guide
Process: Font options
Once the overall structure of the site was settled on, each team came together daily to implement new features, including the data visualization from Victory Charts, and pair program to overcome blocks and refine the end product.
Because we each took on specific sections of the app to produce, an overall challenge was understanding the functionality of other components and how they interacted with each other. For example, with the frontend team focused on building reusable components and responsiveness, it would take time to understand the database and server structure when and if and problem arose. This challenge ultimately led to us all trusting each other to do the best work and accept the abstract nature of developing a huge app with a team.
Independently, we each had our own set of challenges within our own components.
Click the badge to learn more about the license used for this project.
If you have any questions about the repo, open an issue or contact any of the collaborators through github (linked above).
None of our work would have been possible without the invaluable data resources provided by Social Progress Imperative.
How to create a React Dropdown How to Create Google Geo or Region Chart in React Js