Projects

Portfolio

XPLR

Portfolio

A website that leverages third-party data from the National Parks Services website to provide users with a comprehensive platform for exploring and engaging with national parks.

ROLE

Web Development, Front End, Back End

TECH STACK

JavaScript • Python • React.js • React Hooks • FastAPI • Domain-Driven Design • CSS • HTML • PostgreSQL • Redux.js

GITLAB

We were on a mission to create a modern and visually appealing rate and review application. Given our shared passion for the outdoors, tapping into the National Parks Service third-party API seemed like the perfect choice.

We were fortunate to have access to a wealth of data from this API, but this abundance also posed a challenge in terms of deciding what information would be most relevant to our users. Through careful wire framing, we made those decisions, enabling us to then shape the structure of our backend tables.

While working on our backend, we encountered our first experience with FastAPI, learning on the fly. Although this presented its share of challenges, the process was incredibly rewarding and stands as a testament to our adaptability in learning new frameworks and programming languages. As a team, we opted for PostgreSQL as our database, leveraging our collective familiarity and comfort with SQL.




Once we gained access to the data, we began brainstorming the features that would truly benefit our users. While some were straightforward, others required us to think creatively and empathize with our users' needs. In fact, we committed to certain features even before fully knowing how to implement them in code.

Once we had a clear vision of the features, we incorporated them into our wire frame. We then prioritized them based on practicality and necessity before diving into development. The key features include:

  • Top Rated Parks
  • Search Bar
  • Current Weather Integration
  • Favorite Parks
  • Rate & Review



Top Rated Parks

As production progressed, we recognized the value of providing users with insights into the Top Rated Parks. Since users could now rate parks, it seemed only natural to highlight the most favorably reviewed ones.

While the concept appeared straightforward, devising an algorithm to aggregate ratings from every park, calculate individual averages, and then compare them for the top three proved to be more complex than anticipated.

Nonetheless, accomplishing this challenge and seeing it come to life on the home page was extremely rewarding.



After completing the feature implementation and design phase, we recognized the importance of incorporating unit tests to verify the accuracy of our backend's RESTful Endpoints.

This was a significant step for us, as it marked our inaugural venture into implementing unit tests. It provided us with valuable reassurance that our application's backend operated precisely as intended.

In essence, this project served as a personal challenge, motivating us to grow as programmers and embrace unfamiliar technologies. It has instilled in me the confidence that I possess the ability to rapidly learn new programming languages and frameworks, and adapt to new challenges with ease.