#Githubhack23 - Monoripify, a CI CD web app
Tags: githubhack23, codenewbie, opensource, cloud
Published: 2023-05-23 10:03:18

## 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](https://monoripify.vercel.app/)

### Screenshots 

![Insights View](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8q9rej7rf7y1p4yj33f1.png)

![Build form view](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ypfxa3grsj6qo6jw5a0c.png)

![Welcoming view](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sl99i0ns9iyuhtr8tp3a.png)

### 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](https://github.com/Delavalom/monoripify)

### 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](https://docs.github.com/en/rest?apiVersion=2022-11-28)

[Github Actions Docs](https://docs.github.com/en/actions)

[Github App Docs](https://docs.github.com/en/apps/overview)

[Railway App Docs](https://docs.railway.app/reference/public-api)

[UI Library](https://ui.shadcn.com/docs)

[Authentication Library](https://authjs.dev/)

[Serveless Websocket service](https://pusher.com/)