{"id":15323968,"url":"https://github.com/StudyResearchProjects/cayde","last_synced_at":"2025-10-09T10:32:02.778Z","repository":{"id":104132125,"uuid":"352820886","full_name":"StudyResearchProjects/cayde","owner":"StudyResearchProjects","description":"We don't know what we are building but we do it for fun","archived":true,"fork":false,"pushed_at":"2021-05-03T02:51:53.000Z","size":884,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-13T04:52:14.394Z","etag":null,"topics":["ddd","docker","fastify","learning","nextjs","postgresql","social"],"latest_commit_sha":null,"homepage":"","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/StudyResearchProjects.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":"2021-03-30T00:20:33.000Z","updated_at":"2025-08-04T20:49:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"88525555-33e3-436f-b3cb-c7d197fa1eb0","html_url":"https://github.com/StudyResearchProjects/cayde","commit_stats":null,"previous_names":["leoborai/cayde","estebanborai/cayde","studyresearchprojects/cayde"],"tags_count":0,"template":false,"template_full_name":"StudyResearchProjects/fastify-nextjs-project","purl":"pkg:github/StudyResearchProjects/cayde","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudyResearchProjects%2Fcayde","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudyResearchProjects%2Fcayde/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudyResearchProjects%2Fcayde/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudyResearchProjects%2Fcayde/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StudyResearchProjects","download_url":"https://codeload.github.com/StudyResearchProjects/cayde/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudyResearchProjects%2Fcayde/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001274,"owners_count":26083040,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"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":["ddd","docker","fastify","learning","nextjs","postgresql","social"],"created_at":"2024-10-01T09:23:55.032Z","updated_at":"2025-10-09T10:32:02.772Z","avatar_url":"https://github.com/StudyResearchProjects.png","language":"TypeScript","readme":"# cayde\n\n## About the name\n\nThe name is inspired in Destiny's (The Game), Cayde-6 character.\n\n## Development\n\nTheres two ways to run this project either by using Docker (Docker Compose)\nor using straight NodeJS commands\n\n### Running with NodeJS (Yarn)\n\n```bash\n# install dependencies using `yarn install`\nyarn install\n\n# run local development environment\nyarn dev\n\n# this output should be printed to stdout\n\nyarn dev\nyarn run v1.22.10\n$ NEXT_TELEMETRY_DISABLED=1 NODE_ENV=development DEBUG=knex.* env-cmd ts-node-dev --ignore-watch ./src/infrastructure/client --transpile-only ./src/infrastructure/server/main.ts\n[INFO] 20:17:57 ts-node-dev ver. 1.1.6 (using ts-node ver. 9.1.1, typescript ver. 4.2.3)\n{\"level\":30, \"msg\":\"Server listening at http://0.0.0.0:3000\"}\n                                 ▄▄\n                               ▀███\n                                 ██\n ▄██▀██ ▄█▀██▄ ▀██▀   ▀██▀  ▄█▀▀███   ▄▄█▀██\n██▀  ████   ██   ██   ▄█  ▄██    ██  ▄█▀   ██\n██      ▄█████    ██ ▄█   ███    ██  ██▀▀▀▀▀▀\n██▄    ▄█   ██     ███    ▀██    ██  ██▄    ▄\n █████▀▀████▀██▄   ▄█      ▀████▀███▄ ▀█████▀\n                 ▄█\n               ██▀\ninfo  - Using webpack 4. Reason: future.webpack5 option not enabled https://nextjs.org/docs/messages/webpack5\ninfo  - Using external babel configuration from cayde/.babelrc\nevent - compiled successfully\n```\n\n### Running with Docker\n\nThis application makes use of Docker and Docker Compose for execution.\n\n```bash\n# if your docker version is up to date run\ndocker compose up --build\n\n# otherwise run\ndocker-compose up --build\n```\n\n### Project Structure and Architecture\n\nThis application is built with Domain Driven Design in mind.\n\n- The source code for the bussines logic lives in `src/modules`.\n- The source code for the Front-End and the Back-End lives in `src/infrastructure`,\nclient and server respectively.\n- The configurations, such as database connection parameters lives in `src/config`.\n- Global type definitions for TypeScript lives in `@types`. Keep in mind tha client\nalso defines its own types for the `client/` directory.\n- `common` directory contains reusable code for the whole project\n\n### Styles\n\nThe styles of this project are implemented using TailwindCSS along with styled-components.\nTo have a nice mix and usage twin.macro is used as well, this help us build components\nlike this in ReactJS:\n\n```typescript\nimport React from 'react';\nimport tw, { styled, css, theme } from 'twin.macro';\n\ntype Props = {\n  variant: 'primary' | 'secondary';\n  isSmall?: boolean;\n}\n\nconst Button = styled.button(({ variant, isSmall }: Props) =\u003e [\n  tw`px-8 py-2 rounded focus:outline-none transform duration-75`,\n  tw`hocus:(scale-105 text-yellow-400)`,\n  variant === 'primary' \u0026\u0026 tw`bg-black text-white border-black`,\n  variant === 'secondary' \u0026\u0026 [\n    css`\n      box-shadow: 0 0.1em 0 0 rgba(0, 0, 0, 0.25);\n    `,\n    tw`border-2 border-yellow-600`,\n  ],\n  isSmall ? tw`text-sm` : tw`text-lg`,\n  css`\n    color: ${theme`colors.white`};\n  `,\n]);\n\nexport default Button\n```\n[Here is a example project by Ben Rogerson (Twin Macro Author) on NextJS](https://github.com/ben-rogerson/twin.examples/tree/master/next-styled-components)\n\n### Debugging\n\nIn order to debug the application, you must run the `debug` script as follows:\n\n```shell\nyarn debug\n```\n\nWhen the output is printed to the stdout, you must attach to the NodeJS process,\neither using Google Chrome DevTools, Visual Studio Code, or your favorite debugging\ntool.\n\nIf you are using Visual Studio Code, you can create a `.vscode/launch.json` file in\nthe project root directory (this directory), and paste the following bytes to the\nfile:\n\n```json\n{\n  // Use IntelliSense to learn about possible attributes.\n  // Hover to view descriptions of existing attributes.\n  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Attach to Process\",\n      \"type\": \"node\",\n      \"request\": \"attach\",\n      \"port\": 9229\n    }\n  ]\n}\n```\n\nThen after running `yarn debug` successfully, you must initialize the debugger,\nusing the built-in Visual Studio Code debugger, by running the \"Attach to process\"\ntask.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStudyResearchProjects%2Fcayde","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FStudyResearchProjects%2Fcayde","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStudyResearchProjects%2Fcayde/lists"}