Skip to content

Yellowstone

This project builds on the ideas and concepts set forth in Project Canyonlands. It will be built in GoLang.

Background

This project is named after Yellowstone National Park, which is located in the American states of Wyoming, Montana, and Idaho. It was established by the U.S. Congress and signed into law by President Ulysses S. Grant on March 1, 1872. Yellowstone was the first national park in the U.S. and is also widely regarded to be the first national park in the world.

Yellowstone is known for its wildlife and its many geothermal features, especially Old Faithful Geyser, one of the most popular features in the park. It has many types of ecosystems, but the subalpine forest is the most abundant. It is part of the South Central Rockies forests ecoregion.

This project builds on the ideas and concepts set forth in Project Canyonlands. It will be built in GoLang.

Version 1 — Old Faithful

Background

Old Faithful is a geyser in the Upper Geyser Basin in Yellowstone National Park. It erupts more frequently than any of the other big geysers in the park, although it is not the largest or most regular geyser in Yellowstone.

Overview

This version is the core application. It is a reimagining of the Supercell (Media Manager) project written in PHP a while ago. It’s completely rebuilt from the ground up on a modern-day technology stack, all the while making use of industry best practices.

This version consists of a monolithic application, which serves the front-end with GoLang’s built in templating engine along server-side-rendering techniques.

Technology Stack

  • Front-end: Templ, GoLang Templating Engine, Tailwind CSS, Cookies
  • Back-end: HTMX, GoLang
  • Database: PostgreSQL
  • Infrastructure: Docker
  • Version Control: Git
  • CI/CD: GitHub Actions
  • Containerization: Docker
  • Security: BCrypt, CSRF and other Middleware
  • Testing: Go Testing
  • Project Management: GitHub Projects
  • Documentation: MDX and Astro Starlight

Version 2 — Mammoth Hot Springs

Background

Mammoth Hot Springs is a geothermal feature in Yellowstone National Park, north of the caldera. The hot springs are thought to be connected to the same magmatic system that fuels other hydrothermal areas in Yellowstone.

Overview

This version will split the application into different parts. The back-end API will be separated from the front-end web application. This will allow for a more modular approach to the application, making it easier to maintain and scale.

This also serves as a stepping stone for future version updates, in which other applications, such as a native MacOS desktop application, can integrate with the back-end API.

This allows a user to have a more seamless experience across different platforms.

Version 3 — Grand Prismatic Spring

Background

Grand Prismatic Spring is Yellowstone’s largest hot spring, measuring 200-330 feet in diameter and over 121 feet deep. It’s located in the Midway Geyser Basin, with extremely hot water traveling 121 feet from a crack in the Earth to reach the surface of the spring.

Overview

This version will focus on user features overhaul. This will include social media features such as private messages, user pages, user connections, user follows, user notifications, and more.

This will allow users to connect with each other, share their libraries, and discover new items to add to their own library.

Version 4 — Lamar Valley

Background

Located in the northeastern part of Yellowstone, it is a prime spot for wildlife enthusiasts due to its abundant and diverse fauna, earning it the nickname “the American Serengeti”.

Overview

This version will focus on the item review overhaul. Users can review items, and it will show on the system library for all to see (once approved).

This will allow users to see what others think about a specific item, and it will help them decide if they want to add it to their library.

Version 5 — Hayden Valley

Background

Hayden Valley is a large sub-alpine valley in Yellowstone National Park. The valley is known for its wildlife, and you can often see bison, grizzly bears, wolves, coyotes and elk. It is also home to several geothermal features, including Mud Volcano and Sulphur Caldron.

Overview

This version will focus on a native MacOS desktop application. This application will integrate with the back-end API to provide a seamless experience for users.

This will allow users to access their library from their desktop, and it will provide a more native experience compared to using a web browser.

This will also serve as a stepping stone for mobile applications and possibly cross-platform desktop applications in the future.

As part of this version I will also look into packaging the application as a standalone distribution, so users almost never have to interact with back-end services. A user will still have to create a user account, but the application will be able to run without an internet connection.

Version 6 — Tower Fall

Background

Tower Fall, located in the north central area of Yellowstone, is a waterfall on Tower Creek in the northeastern region of the park. The fall plunges 132 feet over Eocene conglomerate, a volcanic gravel which is easily eroded. The fall was named after the rock pinnacles at the top of the fall.

Overview

This version will focus on AI features. This will include AI recommendations, AI reviews, AI ratings, and AI library management.

This will allow users to get personalized recommendations based on their library, and it will help them discover new items to add to their library.

This will also help users manage their library more efficiently, by providing them with insights into their library and how they can improve it.

These features should be supported by both the web application and the desktop application.