Inspiration
The inspiration for the project was that I constantly needed to write production level projects, and didn't have anything to store the structure. For JS, I needed to set up tslint file again, along with some prettier configs, among other stuff. This way its easy to create templates locally, and share some official ones with others!
What it does
There are 2 aspects to it. The CLI is easily downloaded, where you can create templates and load them locally. Then you can login with GitHub and upload them to our servers to share them with other people etc. The second great aspect is that you can share it with other people and search all the templates with the UI nextjs website, so that people can look for good templates, compare templates, and easily get templates without a prior communication of the slug.
Installation
go get -u github.com/neelr/templater/cmd/plateGet the package from githubgo install ithub.com/neelr/templater/cmd/plateInstall the package!
How I built it
I build the CLI using Golang and the base os libraries. I use firebase to host files and for user storage. For the actual user authentication, I use GitHub oauth, because most developers have a GitHub account. Then for the second part I used the api I built for the CLI in the first part to make an interactive website to search peoples projects and take a look at the README among other things.
Challenges I ran into
The biggest challenges I ran into was uploading and storing the folders, which I eventually settled on firebase storage with zips for. This was something I had to learn from scratch so it was super fun. Another thing was querying the database, because I needed to index it myself because Firebase doesn't support sub-string queries.
Accomplishments that I'm proud of
I never before have created a Golang CLI app, and its probably the best documented project I have and best commented, for other developers to understand! Another thing I love about this project is that I use Firebase and GitHub Oauth, which is something I've wanted to use for sometime, but have never gotten around to using, so this was a fun first time!
What I learned
- GitHub Oauth
- Go CLI Practices
- Firebase Storage and FireStore
What's next for Templater
I want to show this to people on product hunt, and at the hackathon because I feel this could be something very useful if many people are on board and using it! Also I might probably make the database indexing a bit more efficient than the current way I do it.
Log in or sign up for Devpost to join the conversation.