Skip to content

Case study for Campfire, an open-source, self-hosted deploy preview solution for containerized, headless frontends

Notifications You must be signed in to change notification settings

campfire-previews/campfire-previews.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Campfire: An open-source, self-hosted deploy preview tool with integrated feedback for containerized, headless frontends.

Campfire is an open-source, self-hosted deploy preview solution that spins up dedicated environments for each feature branch when a pull request is opened. Much like how an actual campfire brings people together to trade stories, Campfire aims to be a central place for cross-functional teams to visually review and discuss proposed code changes or bug fixes early in the software development cycle.

Campfire integrates a feedback interface directly into each deploy preview, allowing teams to collaborate efficiently on proposed code changes or bug fixes from the early stages of development. All user interactions are synced bidirectionally with the associated GitHub pull request. For more detailed insights, please refer to our case study.

Getting Started

Features

  • Automated Deploy Previews - For each pull request, Campfire automatically generates a deploy preview accessible via a public URL.
  • Integrated Feedback Interface - Enables direct user feedback within the deploy preview, synchronized with GitHub pull requests issue comments for seamless collaboration.
  • Session Replay - Captures user interactions within the deploy preview to aid in debugging and understanding user experiences.

System Requirements

Campfire supports front-end applications that meet the following criteria:

  • Hosted on GitHub.
  • Include a Dockerfile.
  • Operate independently of a backend or interact with an external backend via APIs.

Architecture

Campfire leverages several technologies:

  • GitHub Actions - Automates the deployment of deploy previews.
  • AWS ECS - Hosts the deploy previews in a scalable, containerized environment.
  • AWS Lambda - Manages backend functionalities including GitHub API interactions and AWS services, reducing server management overhead.
  • AWS S3 - Stores session replay data and other user-generated content, ensuring data is easily accessible and securely managed.

Future Enhancements

  • CSS Editor - Allow users to suggest and apply CSS changes directly within the deploy preview.
  • Screenshot Functionality - Enable capturing specific moments within the deploy preview for easy sharing and documentation.
  • GitHub User Authorization - Streamline user identification by linking comments directly to GitHub accounts.
  • Cost Optimization - Investigate methods to merge the feedback interface with the client app to reduce operational costs.

License

Campfire is released under the MIT License.

Campfire Team

Allen Lee • Software Engineer • Leonia, NJ

Rachele Lang • Software Engineer • Denver, CO

Tess Lockey • Software Engineer • Las Vegas, NV

Weston Ludeke • Software Engineer • Houston, TX

About

Case study for Campfire, an open-source, self-hosted deploy preview solution for containerized, headless frontends

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •