Our inspiration for this project came to mind after initially hearing the theme for this hackathon. We immediately thought of GitHub as a dev tool that millions of programmers and engineers use around the world, so we thought of enhancing the user experience with GitHub. In addition to that, we also wanted to speed up the process of searching for solutions to errors and problems online.
What it does
Central is a developer tool that can fit in the workflow of anyone from a casual programmer, to a full-stack engineer. Central speeds up the process of initializing a repository and publishing it to your GitHub with just one simple command.
Additionally, Central can be used to query search results from the top three resources mostly used by programmers and engineers when looking for solutions, which include StackOverflow, YouTube, and Google. Their respective API's are used to query the top search results and display them straight from the terminal, making it easier for you so you don't have to open up multiple new tabs on your browser.
How we built it
Our project is split into three repositories:
- Central server: The center for our project, helps get responses in the backend.
- Central CLI: What you interact with when using the devtool in the terminal.
- Central website: Holds the codebase for the official Central website.
Challenges we ran into
When developing the backend, there were many problems that we ran into including discovering APIs that would match our requirements for the project, working with the GitHub API, filtering search results from the respective APIs and server deployment on Linode. These obstacles were overcome by asking our pod leader for questions, along with searching up tutorials and guides online to help us with our specific problems.
When developing the website, there were many issues we faced including configuring and initilizing firebase hosting to work with our website, and trying to get the .tech domain to correctly redirect to our firebase-hosted domain. We were able to get around these issues throughout the course of the project by asking questions amongst each other and to our pod leader, and contacting customer support in the respective websites whenever needed.
Accomplishments that we're proud of
We are proud of the fact that we were pretty much able to knock out all the tasks and ideas that we initially had for this project from the beginning. Everyday after each standup, we committed to working on a small set of tasks for the project everyday, and we constantly had meetings for us to update each other and make solutions.
What we learned
There were many lessons, technical and non-technical, that we learned while working together and individually. In terms of technical work, there were many technologies and frameworks that we have not previously had experience with, including Firebase hosting, Linode, and creating a dev tool as a whole. In terms of non-technical work, we learned how to communicate and work efficiently around the clock since we had to work with different time zones
What's next for Central CLI
In the near future, we plan on implementing more features into Central in order to maximize its potential as an efficient user-friendly devtool that anyone can use. Implementing more search APIs from different developer community websites would help in querying search results for Central users to utilize. Additionally, adding more GitHub API implementations to make the tool work faster and more efficiently would be something that could be done for Central's future path.