
Out Routes
Active DevelopmentOne of my favorite things to do is canyoneering (rappelling through canyons) in southern Utah, Nevada, and California. Activities like canyoneering require preparation to make sure you have the necessary equipment and knowledge for a given route. To avoid bringing all of one’s gear on every trip, canyoneers use forums and wikis that contain betas and trip reports with route-specific information. Knowing all the potential pitfalls beforehand is essential to backcountry safety. Out Routes is my first attempt at building a mapping platform for technical outdoor sports. Out Routes is a full-stack application built in TypeScript with Next.js, React Hook Form, TanStack Query, Radix, mapbox, and xata. 1. Further my understanding of building and securing REST APIs, 2. Gain experience modeling a complex SQL schema, and 3. Work with data that can be public/private, can have one or more collaborators, and tracks change history. I like the idea of allowing users to opt-in to community-based features, so I made it simple to keep routes hidden from the public. If someone want to create routes and maps for personal use, they should be able to without losing any functionality. Routes belong to a single owner, and other users on the platform can submit change requests. To improve collaboration, I’ve also planned for permission-based settings that will enable route owners to add other users as members. Members will have one of four roles: Admin, Moderator, Contributor, and Viewer. Admins can add other Admins, Moderators, Contributors, and Viewers to a route. Moderators can add Moderators, Contributors, and Viewers. Admins and Moderators can directly edit a route. In private routes, Contributors can submit change requests and Viewers have read-only access. For public routes, every user on the platform has Contributor/Viewer privileges. I've implemented a basic version control system for each route, enabling users to see how a route has changed over time. I will soon add the functionality to undo the most recent changes to a route.
View Project