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.
- Campfire Case Study - For a detailed dive into the Campfire app, please read our case study
- Campfire CLI Repo - To start using Campfire, follow the setup instructions in our installation guide. Campfire's CLI tool facilitates easy configuration and management of the deploy environment.
- Campfire Frontend Repo - The repo for Campfire's frontend can be viewed here
- Campfire Demo - You can also view a demo version of Campfire here
- 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.
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.
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.
- 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.
Campfire is released under the MIT License.
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