Inspiration

Backend development often involves repetitive tasks such as setting up project structures and installing necessary packages. This inspired the creation of Backend Forger, a CLI tool aimed at streamlining these tasks. The idea is to enable developers to focus more on coding the unique aspects of their applications by automating the initial setup process. Our experience with multiple frameworks and the desire to simplify backend development for both new and experienced developers inspired us to create a tool that can cater to various backend frameworks with ease.

What it does

Backend Forger automates the scaffolding of backend projects by setting up the essential file and folder structure required for development. It supports multiple frameworks, including Flask, FastAPI, Node.js (Express with TypeScript), and several Go frameworks like HTTP, Gin, Mux, Fiber, and Echo. The tool also handles the installation of necessary packages, providing a ready-to-use boilerplate that developers can immediately build upon.

How we built it

Backend Forger was built using a combination of Go for the CLI and a web frontend developed with Next.js, TypeScript, Tailwind CSS, and DaisyUI. The project templates are stored in Amazon S3, allowing easy updates and access. The web frontend, available at backendforger.netlify.app, features a forger that lets users select their preferred language and framework, generating the corresponding command to scaffold the project. Users can download the tool from the website to install it on their local machines.

Tech Stack

  • CLI Tool: Go, Cobra
  • Web Frontend: Next.js, TypeScript, Tailwind CSS, DaisyUI
  • Template Storage: Amazon S3

Challenges we ran into

One of the main challenges was ensuring compatibility across different frameworks and managing dependencies for each one. We had to carefully design the tool to be flexible and extensible, allowing for easy updates and additions of new frameworks. Additionally, creating a seamless user experience through the command-line interface required thoughtful planning and testing to ensure that the tool is intuitive and easy to use. Managing template storage and retrieval from Amazon S3 also presented challenges related to synchronization and performance.

Accomplishments that we're proud of

We're proud of creating a tool that significantly reduces the time and effort required to set up backend projects. The positive feedback from developers who have used Backend Forger is a testament to its effectiveness and utility. We're also proud of the tool's extensibility, allowing other developers to contribute by adding support for more frameworks in the future. The integration of a web frontend that guides users in generating commands is another accomplishment that enhances the tool’s accessibility and usability.

What we learned

Developing Backend Forger taught us a great deal about the intricacies of different backend frameworks and the common challenges developers face when setting them up. We also learned about building CLI tools with Go, including managing dependencies, handling user input, and creating an extensible architecture. Additionally, we gained experience in integrating a web frontend with backend services, utilizing technologies such as Next.js and Amazon S3.

What's next for Backend Forger

The next steps for Backend Forger include adding support for more frameworks, improving the customization options for project templates, and enhancing documentation to guide new users. We also plan to integrate more features that streamline the development process, such as automated configuration setups, continuous integration support, and more. Our goal is to make Backend Forger an indispensable tool for backend developers around the world. We also aim to expand the capabilities of the web frontend, making it a comprehensive hub for developers to explore and utilize our tool effectively.

Built With

Share this project:

Updates