{"id":28310940,"url":"https://github.com/thomascode92/fibapp","last_synced_at":"2026-05-07T05:32:51.112Z","repository":{"id":289083095,"uuid":"967320222","full_name":"ThomasCode92/fibapp","owner":"ThomasCode92","description":"An (unnecessarily complex) Fibonacci calculator designed to explore multi-service applications 🧮🔍","archived":false,"fork":false,"pushed_at":"2025-05-24T15:32:19.000Z","size":131,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-31T23:17:51.598Z","etag":null,"topics":["monorepo","reactjs","turborepo"],"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/ThomasCode92.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,"zenodo":null}},"created_at":"2025-04-16T09:18:43.000Z","updated_at":"2025-05-24T15:32:19.000Z","dependencies_parsed_at":"2025-04-21T13:23:53.199Z","dependency_job_id":"52a8bb68-98eb-4e0a-8c18-158941cae46d","html_url":"https://github.com/ThomasCode92/fibapp","commit_stats":null,"previous_names":["thomascode92/fibapp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ThomasCode92/fibapp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasCode92%2Ffibapp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasCode92%2Ffibapp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasCode92%2Ffibapp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasCode92%2Ffibapp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThomasCode92","download_url":"https://codeload.github.com/ThomasCode92/fibapp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasCode92%2Ffibapp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261248938,"owners_count":23130489,"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":["monorepo","reactjs","turborepo"],"created_at":"2025-05-24T12:10:12.370Z","updated_at":"2026-05-07T05:32:51.107Z","avatar_url":"https://github.com/ThomasCode92.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FibApp - An (overcomplicated) Fibonacci Calculator\n\n**FibApp** is a purposefully overengineered, multi-service application created\nto **learn, experiment with, and explore** foundational concepts in modern web\ndevelopment. 🚀\n\n\u003e Much of the inspiration for this project comes from\n\u003e _[Docker and Kubernetes - The Complete Guide](https://www.udemy.com/course/docker-and-kubernetes-the-complete-guide)_\n\u003e by Stephen Grider. For those aiming to master _Docker and Kubernetes_, this\n\u003e resource is highly recommended.\n\n## 🌐 Application Overview\n\n![architecture diagram](./images/architecture.excalidraw.png)\n\n- **Redis Cache** — an in-memory data structure store, used as a cache and\n  message broker.\n- **API Service** — Node.js + [Express](https://expressjs.com/) app that stores\n  and retrieves Fibonacci numbers from Redis.\n- **Worker** — Node.js process that listens on Redis Pub/Sub, computes Fibonacci\n  numbers, and caches results in Redis.\n- **React Server** — [React](https://react.dev/) application built with\n  [vite](https://vite.dev/) and styled with [Pico CSS](https://picocss.com/).\n\n## 📂 Monorepo Setup with Turborepo\n\nThe repository is organized as a monorepo using\n[Turborepo](https://turborepo.com/) to manage multiple services and projects.\n\n### Key benefits of using Turborepo\n\n- **Efficient Builds:** Caches and optimizes tasks to speed up development.\n- **Unified Management:** Centralizes scripts and dependencies for consistent\n  tooling.\n- **Scalability:** Easily add new services or utilities without complicating the\n  setup.\n\n### Apps, Packages and Technologies\n\n- `@repo/eslint-config`: `eslint` configurations (includes\n  `eslint-plugin-prettier`)\n- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo\n- `@repo/vitest-config`: `vitest` configurations, for react and node\n\nThis Turborepo has some additional tools already setup:\n\n- [Pnpm](https://pnpm.io/) as the package manager\n- [TypeScript](https://www.typescriptlang.org/) for static type checking\n- [ESLint](https://eslint.org/) \u0026 [Prettier](https://prettier.io) for code\n  quality\n\nMake sure the following are installed on your machine:\n\n- [Node.js](https://nodejs.org/) — a JS runtime\n- [Docker](https://www.docker.com/) — containerization platform\n\n## 🔗 Useful Links\n\n- [Turbo Documentation](https://turbo.build/repo/docs)\n- [Turbo API Reference](https://turbo.build/repo/docs/reference)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomascode92%2Ffibapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomascode92%2Ffibapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomascode92%2Ffibapp/lists"}