{"id":25601008,"url":"https://github.com/arifshariati/monor","last_synced_at":"2026-04-15T14:03:10.884Z","repository":{"id":249689129,"uuid":"832184560","full_name":"arifshariati/monor","owner":"arifshariati","description":"Nx workspaces repo that houses various frontend and backend projects for learning purposes in order to solidify learnings with HOW part of working with monorepos.","archived":false,"fork":false,"pushed_at":"2024-09-02T08:12:45.000Z","size":1957,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-21T15:50:58.022Z","etag":null,"topics":["authjs","graph","mongodb","monorepo","nestjs","nextauth","nextjs","nx-workspace","reactjs","rest-api"],"latest_commit_sha":null,"homepage":"https://next-dashboard-beta-tawny.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arifshariati.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-22T13:50:48.000Z","updated_at":"2024-09-02T08:10:19.000Z","dependencies_parsed_at":"2024-08-05T13:23:05.146Z","dependency_job_id":"44274cc6-77c6-4cce-a519-fda8a6e7256d","html_url":"https://github.com/arifshariati/monor","commit_stats":null,"previous_names":["arifshariati/monor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arifshariati/monor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arifshariati%2Fmonor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arifshariati%2Fmonor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arifshariati%2Fmonor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arifshariati%2Fmonor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arifshariati","download_url":"https://codeload.github.com/arifshariati/monor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arifshariati%2Fmonor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31844329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T13:28:40.153Z","status":"ssl_error","status_checked_at":"2026-04-15T13:28:29.396Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authjs","graph","mongodb","monorepo","nestjs","nextauth","nextjs","nx-workspace","reactjs","rest-api"],"created_at":"2025-02-21T15:39:47.005Z","updated_at":"2026-04-15T14:03:10.866Z","avatar_url":"https://github.com/arifshariati.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Monor - Monorepo for NextJS, ReactJS, NestJS and React Native apps\n\n[Nx workspace](https://nx.dev) is around for quite a time now amongst the others such as [Yarn workspaces](https://classic.yarnpkg.com/lang/en/docs/workspaces/) and [Turbo repo](https://turbo.build/) that aims to take an approach on having enhanced collaboration through visibility by allowing teams to better communicate and collaborate. In a large team, this is specially beneficial. Developers can see the entire codebase, understand the context of their work better and make cross-project changes effortlessly.\n\n## Projects in this Nx Monorepo\n\nThe repo is maintained with new projects in [NextJS](https://nextjs.org/), [ReactJs](https://react.dev/), [NestJs](https://nestjs.com/) and [React Native](https://reactnative.dev/). Here are list of projects;\n\n1. **AI Content Generator** app build with `NextJS`, `Clerk` for Authentication, `Google GEMINI` for AI. [Click here](https://aicg.netlify.app/) to visit the production app.\n2. **Banking** build with `NextJS`, `APPWRITE` for Authentication and DB. [Click here](https://plaid-banking.netlify.app/) to visit the production app.\n\n\u003e [!Note]\n\u003e This repo contains other projects containing shareable components. Moreover, it holds list of re-usable components and utils which is aimed to be used throughout various projects.\n\n## The WHY?\n\nTeams tend to choose mono repo over poly repo to have;\n\n1. **Improved collaboration and code sharing:** A monorepo makes it easier for teams to see all the codebase in one place, reuse code across projects, and work on related changes together.\n2. **Simplified dependency management:** With all code in one place, there is no need to worry about version conflicts between separate repositories.\n3. **Standardization and visibility:** A monorepo makes it easier to enforce coding practices and tooling across the entire codebase, as well as see how all the different parts of the system fit together.\n\n\u003e [!Note]\n\u003e However, it's important to consider the potential drawbacks of monorepos as well like increased repository size and complexity overtime.\n\n## The HOW?\n\nLet's get thorough understanding of workings of various JS projects inside Nx monorepo. We shall take gradual development approach where we will house various frontend and backend projects inside this repository. We shall aim for;\n\n1. How to house various projects inside Nx workspace\n2. How to implement the concept of reusable components and utilities\n3. How to prepare projects to production with CICD on github\n\n## Tech Stack\n\nWe shall maintain this repository having some initial tech stack in mind, however we shall keep updating gradually as per our need.\n\n1. [NextJS](https://nextjs.org/) for frontend projects\n2. [ReactJS](https://react.dev/) for frontend proejcts\n3. [NestJS](https://nestjs.com/) for backend projects\n4. [mongoDB](https://www.mongodb.com/) for storing our data\n5. REST \u0026 [Graphql](https://graphql.org/) API\n6. [AuthJS](https://authjs.dev/) or [NextAuth](https://next-auth.js.org/) for authentication and authorization\n\nWe shall keep up with the list as our tech stack grows or shrinks.\n\n## Useful Nx commands\n\nHave a look at detailed [Nx API commands](https://nx.dev/nx-api/nx) list for further info. We shall list commands that we used in this repo here.\n\n## Get started\n\nLet's get started with the project.\n\n**Clone Repository**\n\n```bash\ngit clone https://github.com/arifshariati/monor.git\n```\n\n**Install Dependencies**\nThe project uses [bun](https://bun.sh/). However, you can use npm also.\n\n```bash\nbun install \n\n# if bun is not installed on your machine \nbunx install \n```\n\n**Run projects in DEV**\n```bash\n# banking app\nbun run banking:dev\n\n# AI content generator app\nbun run ai-content-generator:dev\n\n# Next dashboard app\nbun run next-dashboard:dev\n```\n\n**Other commands**\n\nYou can also `scripts` section of `package.json` for full list of scripts. \n```bash\n# Lint\nbun run lint\n\n# Test\nbun run test\n\n# build \nbun run build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farifshariati%2Fmonor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farifshariati%2Fmonor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farifshariati%2Fmonor/lists"}