Inspiration

We were inspired by the common frustration among developers who spend significant time setting up and evaluating GitHub repositories, only to find out they're not suitable for their needs. We wanted to create a tool that simplifies and accelerates the process of exploring and testing repositories, ultimately saving developers time and increasing productivity.

What it does

DockerGlimpse allows developers to quickly launch any GitHub repository into a Docker container for evaluation. By automating the setup and testing process, developers can assess the functionality of repositories within minutes, rather than hours. DockerGlimpse provides a secure and isolated testing environment, cross-platform compatibility, and seamless integration with version control platforms like GitHub

How we built it

We built DockerGlimpse using Node.js for the backend and React for the frontend. The backend is responsible for interacting with the Docker API to create and manage containers, while the frontend provides a user-friendly interface for entering repository URLs and initiating tests. We utilized the node-pty npm package to run Docker commands programmatically and react-bootstrap for frontend design components.

Challenges we ran into

The main challenge that we ran into was while enabling access to remote docker containers through a browser based terminal. We explored lots of option like SSHing into the container, directly connecting to the remote docker daemon and finally settled on running the UI on the same server as the docker daemon, for easier access and using a browser based terminal emulator for better usability

Accomplishments that we're proud of

We're proud to have developed a tool that streamlines the process of exploring GitHub repositories and enhances developer productivity. We're also proud of the seamless integration with GitHub, which makes testing repositories as easy as clicking a button. In case of a container failure we allowed users to enter the container in a playground environment to explore and debug!

What we learned

Through building DockerGlimpse, we gained a deeper understanding of Docker containerization, Node.js development, and frontend design principles. We learned how to interact with the Docker API programmatically. We also learned the importance of thorough testing and error handling to ensure a robust and reliable application.

What's next for DockerGlimpse

In the future, we plan to enhance DockerGlimpse with additional features and functionality to further streamline the repository exploration process and add support for more frameworks, this time we focused on React apps in particular. We also plan to integrate LLM modules which can understand special setup instructions from the codebase and readme and reduce user involvement and efforts. We also plan to add OpenAPI integration for debugging assistance

Share this project:

Updates