About the Program:
ecoEXPLORE (Experiences Promoting Learning Outdoors for Research and Education) is an incentive-based citizen science program for children in grades K-8. Developed by The North Carolina Arboretum, this innovative pilot program combines science exploration with kid-friendly technology to foster a fun learning environment for children while encouraging them to explore the outdoors and participate in citizen science.
What We Did for exoEXPLORE:
- Re-envisioned the technical architecture to move from a heavily plugin-dependent WordPress site to a custom tailored CMS backed by a high-performance database.
- Built a new platform that allows the program to expand across the state and allow much more robust membership features.
- Greatly reduced opportunity for code degradation and malicious attacks.
- Updated the front end design and greatly improved the user experience.
ecoExplore is a program of the NC Arboretum that was created as a citizen science project to engage kids across the state of North Carolina in outdoor learning. The primary function of the site allows users to submit and identify photos of nature sightings. These interactions are incentivized by awarding badges and prizes for correct identifications.
The previous site used a custom WordPress codebase with a combination of complex plugins. It was constrained by the feature set of those plugins and susceptible to both code degradation and malicious attacks. In fact, toward the end of the time, the WordPress codebase was in use, the plugin supporting one of the site’s most critical features, membership, was subject to a zero-day vulnerability attack.
Following the recognition of these issues, FullSteam Labs worked with the ecoExplore team to redesign the site and re-envision its technical architecture. The program was on the verge of expanding from a handful of participating counties to the entire state of North Carolina and they needed a more robust platform to serve a larger scale of users. They also desperately needed to break free of the constraints imposed by their existing codebase.
FullSteam Labs proposed a full reboot of the WordPress site using a custom-tailored content management system backed by a high-performance database. We developed a codebase that uses structured data types to model the application and implemented a continuous integration system for automating code deployment.
The new site follows modern web development patterns for delivering a high quality experience on various devices and network connections. On the front end, it uses pre-compiled, static code for common user interface elements that display dynamic content by making efficient data queries to the back end with a flexible query language, GraphQL. By leveraging progressive asset delivery and targeted browser caching the site loads quickly for all users.
The result was a huge success, providing a highly performant and scalable system. The new codebase follows a more modular, services-oriented architecture where critical functionality is carefully divided into independent components. The new system is highly customizable and no longer depends on a brittle amalgamation of specialized plugins.
Looking forward, FullSteam Labs hopes to implement new features for the ecoExplore team, including more nuanced reporting of the data flowing through the system and improved observability of internal metrics. We hope to further develop the application’s offline experience and we look forward to the challenge of creating anything else the ecoExplore team dreams up.