{"id":48555749,"url":"https://github.com/nejcfurh/nejcfurh-studio","last_synced_at":"2026-06-30T23:00:41.706Z","repository":{"id":342834838,"uuid":"1170951500","full_name":"nejcfurh/nejcfurh-studio","owner":"nejcfurh","description":"A personal monorepo powering multiple personal projects, built with Turborepo, Next.js 16, React 19, and TypeScript.","archived":false,"fork":false,"pushed_at":"2026-06-29T10:47:25.000Z","size":60890,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2026-06-29T12:23:58.580Z","etag":null,"topics":["convex","mongodb","nextauth","nextjs","postgresql","react","supabase","threejs","typescript"],"latest_commit_sha":null,"homepage":"","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/nejcfurh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-02T17:54:57.000Z","updated_at":"2026-06-29T10:47:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nejcfurh/nejcfurh-studio","commit_stats":null,"previous_names":["nejcfurh/nejcfurh-studio"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/nejcfurh/nejcfurh-studio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nejcfurh%2Fnejcfurh-studio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nejcfurh%2Fnejcfurh-studio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nejcfurh%2Fnejcfurh-studio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nejcfurh%2Fnejcfurh-studio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nejcfurh","download_url":"https://codeload.github.com/nejcfurh/nejcfurh-studio/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nejcfurh%2Fnejcfurh-studio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34986248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["convex","mongodb","nextauth","nextjs","postgresql","react","supabase","threejs","typescript"],"created_at":"2026-04-08T11:00:41.312Z","updated_at":"2026-06-30T23:00:41.692Z","avatar_url":"https://github.com/nejcfurh.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nejcfurh-studio\n\nA monorepo powering multiple web applications, built with [Turborepo](https://turbo.build/repo), [Next.js 16](https://nextjs.org/), [React 19](https://react.dev/), and [TypeScript](https://www.typescriptlang.org/).\n\nCreated by [Nejc Furh](https://nejcfurh.dev)\n\n## Apps\n\n| App                                         | Description                                                                | Deployment                                    |\n| ------------------------------------------- | -------------------------------------------------------------------------- | --------------------------------------------- |\n| [design-lab](apps/design-lab)               | Animations, reusable components, UI clones \u0026 AI tools showcase             | [LINK](https://design-lab.nejcfurh.dev/)      |\n| [n-drive](apps/n-drive)                     | Cloud storage and file sharing platform with Convex backend and Clerk auth | [LINK](https://n-drive.nejcfurh.dev/)         |\n| [backyard-skies](apps/backyard-skies)       | Interactive 3D weather visualization using Three.js and React Three Fiber  | [LINK](https://backyard-skies.nejcfurh.dev/)  |\n| [desktop-weather](apps/desktop-weather)     | Progressive Web App for weather information                                | [LINK](https://weather.nejcfurh.dev/)         |\n| [friends-of-nature](apps/friends-of-nature) | Community platform for nature enthusiasts with rich animations             | [LINK](https://friends-of-nature.vercel.app/) |\n| [blog-dev](apps/blog-dev)                   | Personal dev blog with MongoDB backend and admin authentication            | [LINK](https://blog.nejcfurh.dev/)            |\n| [to-do-cards](apps/to-do-cards)             | Card-based task manager with NextAuth, MongoDB, and Supabase storage       | [LINK](https://to-do-cards.nejcfurh.dev/)     |\n| [twabblr](apps/twabblr)                     | Social / messaging app with NextAuth, Prisma, and real-time (Pusher)       | [LINK](https://twabblr.nejcfurh.dev)          |\n| [elysantium](apps/elysantium)               | Luxury hotel site with admin panel (bookings, cabins, Supabase)            | [LINK](https://elysantium.nejcfurh.dev)       |\n| [domavia](apps/domavia)                     | Real estate listing platform with Firebase Auth, Firestore, and maps       | [LINK](https://domavia.nejcfurh.dev)          |\n\n## Packages\n\n| Package                             | Description                         |\n| ----------------------------------- | ----------------------------------- |\n| [ai-sdk](packages/ai-sdk)           | AI SDK integrations (Google Gemini) |\n| [analytics](packages/analytics)     | Analytics helpers                   |\n| [database](packages/database)       | Database utilities                  |\n| [react-query](packages/react-query) | React Query configuration           |\n| [ui](packages/ui)                   | Shared UI components and animations |\n| [utils](packages/utils)             | Shared utility functions            |\n\n## Tooling\n\n| Package                                                    | Description                                                   |\n| ---------------------------------------------------------- | ------------------------------------------------------------- |\n| [tsconfig](tooling/tsconfig)                               | TypeScript configurations for Next.js, libraries, and base    |\n| [eslint-config-web](tooling/eslint-config-web)             | ESLint flat config presets (base, React, React library, Node) |\n| [prettier-config-web](tooling/prettier-config-web)         | Prettier config with Tailwind CSS and import sorting plugins  |\n| [tailwind-config](tooling/tailwind-config)                 | Shared Tailwind CSS theme and custom breakpoints              |\n| [browserslist-config-web](tooling/browserslist-config-web) | Shared browser targets for build tools                        |\n\n## Requirements\n\n- **Node.js** `v24.13.1` (see [.nvmrc](.nvmrc))\n- **pnpm** `10.30.3` (enforced via `packageManager` field)\n\n## Getting Started\n\n```bash\n# Use the correct Node.js version\nnvm use\n\n# Install dependencies\npnpm install\n\n# Start all apps in development mode\npnpm dev\n\n# Start a specific app\npnpm run design-lab\npnpm run n-drive\npnpm run backyard-skies\npnpm run desktop-weather\npnpm run friends-of-nature\npnpm run blog-dev\npnpm run to-do-cards\npnpm run twabblr\npnpm run elysantium\npnpm run domavia\npnpm run jobs-react-native\n```\n\n## Commands\n\n### Development\n\n| Command      | Description                                        |\n| ------------ | -------------------------------------------------- |\n| `pnpm dev`   | Start all apps in development mode                 |\n| `pnpm build` | Build all apps and packages                        |\n| `pnpm start` | Start all apps in production mode (requires build) |\n| `pnpm clean` | Remove all build artifacts (`dist/`, `.next/`)     |\n\n### Code Quality\n\n| Command              | Description                    |\n| -------------------- | ------------------------------ |\n| `pnpm lint`          | Run Prettier and ESLint checks |\n| `pnpm lint:prettier` | Check formatting with Prettier |\n| `pnpm lint:eslint`   | Check code quality with ESLint |\n| `pnpm type:check`    | Run TypeScript type checking   |\n\n### Formatting\n\n| Command                | Description                              |\n| ---------------------- | ---------------------------------------- |\n| `pnpm format`          | Auto-fix Prettier and ESLint issues      |\n| `pnpm format:prettier` | Auto-fix formatting with Prettier        |\n| `pnpm format:eslint`   | Auto-fix code quality issues with ESLint |\n\n## Tech Stack\n\n- **Framework:** Next.js 16 with Turbopack\n- **UI:** React 19, Tailwind CSS 4\n- **Language:** TypeScript 5\n- **Monorepo:** Turborepo 2.8, pnpm workspaces\n- **Linting:** ESLint 9 (flat config), Prettier\n- **Git Hooks:** Husky (pre-commit: type check + format, commit-msg: commitlint)\n- **CI/CD:** GitHub Actions (code quality, auto-release PRs, semantic versioning)\n\n## Project Structure\n\n```\nnejcfurh-studio/\n├── apps/\n│   ├── backyard-skies/        # 3D Bird Survival Game\n│   ├── blog-dev/              # Personal dev blog\n│   ├── design-lab/            # Animations, components, clones \u0026 tools\n│   ├── desktop-weather/       # PWA weather app\n│   ├── domavia/               # Real estate listing platform\n│   ├── elysantium/            # Hotel site + admin panel\n│   ├── friends-of-nature/     # Nature community platform\n│   ├── jobs-react-native/     # React Native job search app\n│   ├── n-drive/               # File sharing platform\n│   ├── to-do-cards/           # Card-based Task Manager\n│   └── twabblr/               # Social / Messaging app\n├── packages/\n│   ├── ai-sdk/                # AI SDK integrations (Google Gemini)\n│   ├── analytics/             # Analytics helpers\n│   ├── database/              # Database utilities\n│   ├── react-query/           # React Query configuration\n│   ├── ui/                    # Shared UI components \u0026 animations\n│   └── utils/                 # Shared utility functions\n├── tooling/\n│   ├── browserslist-config-web/ # Browser targets\n│   ├── eslint-config-web/     # ESLint presets\n│   ├── prettier-config-web/   # Prettier config\n│   ├── tailwind-config/       # Tailwind theme\n│   └── tsconfig/              # TypeScript configs\n├── turbo.json                 # Turborepo pipeline config\n├── pnpm-workspace.yaml        # Workspace definition\n└── package.json               # Root scripts and dependencies\n```\n\n## Commit Convention\n\nThis project uses [Conventional Commits](https://www.conventionalcommits.org/) enforced by commitlint. A scope is required.\n\n```\nfeat(app-name): Add new feature\nfix(shared): Resolve utility bug\nchore(ci): Update workflow\n```\n\n**Allowed types:** `feat`, `fix`, `chore`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `revert`, `improvement`\n\n## Release Process\n\nReleases are fully automated via GitHub Actions:\n\n1. Create PR from `feature-branch` to `develop`\n2. A release PR is auto-created targeting `main` with a changelog\n3. Merging the PR triggers version bump, git tag, and GitHub Release creation\n4. `main` is synced back to `develop`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnejcfurh%2Fnejcfurh-studio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnejcfurh%2Fnejcfurh-studio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnejcfurh%2Fnejcfurh-studio/lists"}