{"id":14978627,"url":"https://github.com/itsferdiardiansa/ferdiardiansa.com","last_synced_at":"2025-10-28T11:31:51.342Z","repository":{"id":223306226,"uuid":"759285947","full_name":"itsferdiardiansa/Oxcyn","owner":"itsferdiardiansa","description":"About me and everything is surrounding me","archived":false,"fork":false,"pushed_at":"2024-10-08T21:24:45.000Z","size":6301,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-11T18:21:07.155Z","etag":null,"topics":["apollo-server","ci-cd","firebase","firestore","github-actions","graphql","monorepo","nest","nextjs","nx-workspace","pnpm-workspace","tailwindui","typescript"],"latest_commit_sha":null,"homepage":"https://ferdiardiansa.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itsferdiardiansa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-02-18T06:46:28.000Z","updated_at":"2024-10-03T08:25:02.000Z","dependencies_parsed_at":"2024-09-08T09:37:13.280Z","dependency_job_id":"b1c451fe-9a06-434c-b4b8-c7d22936e5b8","html_url":"https://github.com/itsferdiardiansa/Oxcyn","commit_stats":{"total_commits":206,"total_committers":3,"mean_commits":68.66666666666667,"dds":0.383495145631068,"last_synced_commit":"47b732b0507dc1e01c4a08308035e38c2ed22185"},"previous_names":["itsferdiardiansa/oxcyn"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsferdiardiansa%2FOxcyn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsferdiardiansa%2FOxcyn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsferdiardiansa%2FOxcyn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsferdiardiansa%2FOxcyn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsferdiardiansa","download_url":"https://codeload.github.com/itsferdiardiansa/Oxcyn/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219859638,"owners_count":16556035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["apollo-server","ci-cd","firebase","firestore","github-actions","graphql","monorepo","nest","nextjs","nx-workspace","pnpm-workspace","tailwindui","typescript"],"created_at":"2024-09-24T13:58:03.340Z","updated_at":"2025-10-28T11:31:51.334Z","avatar_url":"https://github.com/itsferdiardiansa.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oxcyn\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=itsferdiardiansa_Oxcyn\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=itsferdiardiansa_Oxcyn)\n[![codecov](https://codecov.io/gh/itsferdiardiansa/Oxcyn/graph/badge.svg?token=RAK1A63V6F)](https://codecov.io/gh/itsferdiardiansa/Oxcyn)\n[![pnpm](https://img.shields.io/badge/maintained%20with-pnpm-f9ad00.svg)](https://pnpm.io/)\n[![License](https://img.shields.io/npm/l/nx.svg?style=flat-square)](https://github.com/itsferdiardiansa/Oxcyn/tree/docs/project?tab=License-1-ov-file)\n[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()\n\nThis is a personal project that consist of anything about my opinions and surrounding me.This is a personal project that consist of anything about my opinions and surrounding me.\n\n## **Development workflows**\n\nSome organizations have steps in how they develop the projects they are working on. These are some simple methods that I have created after making several observations and do not rule out the possibility of changes in the future.\n\n![diagram-export-6-16-2024-3_10_44-PM.png](https://eraser.imgix.net/workspaces/0cmUk4P5344JCeqlOX1d/2XG2BGojRDZ1XQRU8zKzU21QVJH3/nMGz4SrKUUbGD7JKaVpFf.png?ixlib=js-3.7.0 'diagram-export-6-16-2024-3_10_44-PM.png')\n\n**Version:** 0.1.0  \n**License:** MIT  \n\n## Overview\nOxcyn is a backend-focused monorepo managed with **Nx** and **pnpm**, structured for high maintainability, code consistency, and continuous quality assurance. The project enforces strict linting, testing, and formatting rules, suitable for large-scale or multi-service environments.\n\n## Core Features\n- Enforced package management via **pnpm**.\n- Centralized task execution with **Nx**.\n- Automated linting, formatting, and testing on commit.\n- Integrated coverage and SonarQube property generation scripts.\n- Ready for deployment with **Vercel** runtime support.\n\n## Project Requirements\n- **Node.js** ≥ 18.x  \n- **pnpm** ≥ 7.3.0  \n- **Nx CLI**  \n- **Vercel CLI** (optional for deployment)\n\n## Installation\n```bash\npnpm install\n```\n\nIf another package manager is used (npm/yarn), installation will fail due to the enforced `only-allow` hook.\n\n## Development Commands\n| Command | Description |\n|----------|-------------|\n| `pnpm reset` | Clears Nx cache and resets the workspace. |\n| `pnpm type-check` | Runs TypeScript type checks across all packages. |\n| `pnpm format` | Checks code formatting. |\n| `pnpm format:write` | Automatically formats all code using Prettier. |\n| `pnpm lint` | Runs linting rules. |\n| `pnpm lint:fix` | Auto-fixes lint issues where possible. |\n| `pnpm test` | Executes all Jest tests. |\n| `pnpm test:coverage` | Runs tests and generates a coverage report. |\n| `pnpm generate-coverage` | Custom script to consolidate coverage data. |\n| `pnpm generate-sonar-properties` | Generates configuration for SonarQube integration. |\n\n## Git Hooks \u0026 Commit Rules\nHusky and lint-staged ensure all code meets standards before commits:\n- Formats and lints staged files.\n- Runs unit tests for changed files.\n- Enforces commit conventions using **Commitlint** with the **Conventional Commits** configuration.\n\n## Directory Structure\nTypical Nx-based layout:\n```\napps/           # Application-level code\nlibs/           # Shared libraries and modules\nscripts/        # Project-level utility scripts\nnx.json         # Nx workspace configuration\npackage.json    # Monorepo configuration and scripts\n```\n\n## CI/CD \u0026 Deployment\n- Optimized for **Vercel** deployments using `@vercel/node` and related analytics packages.\n- Compatible with other CI/CD systems by invoking Nx and pnpm tasks directly.\n\n## Quality and Coverage\n- **Jest** for unit and integration testing.\n- **NYC** for coverage reporting.\n- Integration-ready with **SonarQube** for code quality metrics.\n\n## License\nMIT © 2025 Ferdi\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsferdiardiansa%2Fferdiardiansa.com","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsferdiardiansa%2Fferdiardiansa.com","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsferdiardiansa%2Fferdiardiansa.com/lists"}