DEV Community

Delavalom
Delavalom

Posted on • Updated on

#Githubhack23 - Monoripify, a CI CD web app

What I built

I built a web app where you can come and see insights about your repo's build process and also deploy your repo with just one click to Railway. πŸš€

Category Submission:

DIY Deployments

App Link

πŸ”Œ Monoripify

Screenshots

Insights View

Build form view

Welcoming view

Description

Monoripify is designed to increase productivity within monorepos (since Prime video take that route πŸ˜…). With seamless integration and a user-friendly interface, Monoripify makes your development experience more efficient and insightful.

Here's what you can expect from Monoripify:

1️⃣ Easy Sign-In: Simply sign in using your GitHub account.
2️⃣ Instant Integration: Install our GitHub app to create an insightful build process for your repo.
3️⃣ In-Depth Insights: Gain valuable insights, along with an efficiency score that helps identify potential areas for improvement.
4️⃣ One-Click Deployment: Deploy your repo to Railway with just one click (and a token of course πŸ˜„).

Monoripify leverages the power of GitHub Actions VM to clone your repo and run the build process, share logs for analysis. πŸ’Ύ We use GPT-4 AI technology to processes and analyse these logs.

It's seen I'm building Vercel (probably), expect to find many bugs while using the app, it works better at localhost. Give it a try and maybe join me open-sourced in the future of code management! ✨

Link to Source Code

repo link

Permissive License

Monoripify is released under the permissive MIT License. This license allows developers to freely use, modify, and distribute the action while providing appropriate attribution.

Background (What made you decide to build this particular app? What inspired you?)

In my opinion, managing a monorepo and scaling the code can be quite challenging. While I appreciate the speed and efficiency monorepos offer, they can sometimes be overwhelming if not properly organized with a clear file structure and deployment plan. My vision is to create an open-source solution that combines your preferred deployment provider with a user-friendly interface and exceptional developer experience, ultimately achieving the perfect balance for monorepo management (or that what I think 🧐).

How I built it (How did you utilize GitHub Actions or GitHub Codespaces? Did you learn something new along the way? Pick up a new skill?)

I am often motivated to start building a project in order to challenge myself and develop new skills. That being said, I am not an architecture engineer. To achieve this I began by digging deeply into the technologies I needed to use. The first technology I came across was YAML ain't markup language β™₯️, which I have grown to love more than JSON due to its usefulness in configuring projects.

Initially, CI/CD was a daunting subject for me, but after getting my hands dirty, I started to feel like a Cloud developer and even considered changing my career path. The GitHub API is a vast and complex resource that I saw as a potential gold mine now for every project. In addition, the information I gained about the isolate VMs of GitHub actions, the use of artifacts, and running bash scripts was invaluable.

Reflecting on my experience, if I had to take something back, it would be my choice of stack. For future projects, I think that a serverful environment would be more preferable for this kind of needs. I also realized that deploying the app on AWS was a better option for me in order to effectively manage edge cases and monitor production logs than Vercel and restricted DX.

Additional Resources/Info

Github Rest API Docs

Github Actions Docs

Github App Docs

Railway App Docs

UI Library

Authentication Library

Serveless Websocket service

Top comments (0)