{"id":15061043,"url":"https://github.com/esposter/esposter","last_synced_at":"2026-04-15T06:02:41.099Z","repository":{"id":62998136,"uuid":"508107028","full_name":"Esposter/Esposter","owner":"Esposter","description":"A nice and casual place for posting random things.","archived":false,"fork":false,"pushed_at":"2025-04-09T22:07:09.000Z","size":83289,"stargazers_count":18,"open_issues_count":5,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T23:19:50.642Z","etag":null,"topics":["drizzle-orm","nuxt","pinia","postgresql","trpc","vue","vuejs","vuetify","zod"],"latest_commit_sha":null,"homepage":"https://esposter.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Esposter.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2022-06-28T00:50:56.000Z","updated_at":"2025-04-09T22:06:17.000Z","dependencies_parsed_at":"2024-01-22T18:59:45.326Z","dependency_job_id":"8b2f25c8-7095-4625-a4cb-e82cf35e9e88","html_url":"https://github.com/Esposter/Esposter","commit_stats":{"total_commits":4646,"total_committers":5,"mean_commits":929.2,"dds":0.6041756349547998,"last_synced_commit":"4d55471c63858f44f0e5cf2cc2f2feb9e71f8cbf"},"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Esposter%2FEsposter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Esposter%2FEsposter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Esposter%2FEsposter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Esposter%2FEsposter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Esposter","download_url":"https://codeload.github.com/Esposter/Esposter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166925,"owners_count":21058481,"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":["drizzle-orm","nuxt","pinia","postgresql","trpc","vue","vuejs","vuetify","zod"],"created_at":"2024-09-24T23:08:32.585Z","updated_at":"2026-04-15T06:02:41.091Z","avatar_url":"https://github.com/Esposter.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Esposter](https://esposter.com)\n\n[![Build Status][badge-ci]][url-ci]\n[![Apache-2.0 licensed][badge-license]][url-license]\n\n### Table of Contents\n\n- 📖 [Documentation](#documentation)\n- 🏠 [Local Development](#local-development)\n- ⚖️ [License](#license)\n\n## \u003ca name=\"documentation\"\u003e📖 Documentation\u003c/a\u003e\n\nWe highly recommend you take a look at the [documentation](https://esposter.com/docs/) to level up.\n\n### Frontend\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth width=\"2000\" colspan=\"2\"\u003e\n        \u003cimg src=\"./.github/assets/nuxt/banner.png\" /\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"80\" align=\"center\" valign=\"top\"\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://nuxt.com\"\u003e\n          \u003cimg src=\"./.github/assets/nuxt/logo.svg\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd valign=\"top\"\u003e\n        \u003ch3\u003eNuxt\u003c/h3\u003e\n        \u003cp\u003e\n          The Intuitive Web Framework, based on Vue. We highly recommend you take a look at \u003ca href=\"https://nuxt.com\"\u003ethe Nuxt documentation\u003c/a\u003e to level up.\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"80\" align=\"center\" valign=\"top\"\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://vuejs.org\"\u003e\n          \u003cimg src=\"./.github/assets/vue/logo.svg\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd valign=\"top\"\u003e\n        \u003ch3\u003eVue\u003c/h3\u003e\n        \u003cp\u003e\n          🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. We highly recommend you take a look at \u003ca href=\"https://vuejs.org\"\u003ethe Vue documentation\u003c/a\u003e to level up.\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"80\" align=\"center\" valign=\"top\"\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://next.vuetifyjs.com\"\u003e\n          \u003cimg src=\"./.github/assets/vuetify/logo.svg\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd valign=\"top\"\u003e\n        \u003ch3\u003eVuetify\u003c/h3\u003e\n        \u003cp\u003e\n          🐉 Material Component Framework for Vue. We highly recommend you take a look at \u003ca href=\"https://vuetifyjs.com\"\u003ethe Vuetify documentation\u003c/a\u003e to level up.\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"80\" align=\"center\" valign=\"top\"\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://pinia.vuejs.org\"\u003e\n          \u003cimg src=\"./.github/assets/pinia/logo.svg\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd valign=\"top\"\u003e\n        \u003ch3\u003ePinia\u003c/h3\u003e\n        \u003cp\u003e\n          🍍 Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support. We highly recommend you take a look at \u003ca href=\"https://pinia.vuejs.org\"\u003ethe Pinia documentation\u003c/a\u003e to level up.\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n### Backend\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth width=\"2000\" colspan=\"2\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"80\" align=\"center\" valign=\"top\"\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://trpc.io\"\u003e\n          \u003cimg src=\"./.github/assets/trpc/logo.svg\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ch3\u003etRPC\u003c/h3\u003e\n        \u003cp\u003e\n          🧙‍♀️ Move Fast and Break Nothing. End-to-end typesafe APIs made easy. We highly recommend you take a look at \u003ca href=\"https://trpc.io\"\u003ethe tRPC documentation\u003c/a\u003e to level up.\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"80\" align=\"center\" valign=\"top\"\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://zod.dev\"\u003e\n          \u003cimg src=\"./.github/assets/zod/logo.svg\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ch3\u003eZod\u003c/h3\u003e\n        \u003cp\u003e\n          TypeScript-first schema validation with static type inference. We highly recommend you take a look at \u003ca href=\"https://zod.dev\"\u003ethe Zod documentation\u003c/a\u003e to level up.\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"80\" align=\"center\" valign=\"top\"\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://orm.drizzle.team\"\u003e\n          \u003cimg src=\"./.github/assets/drizzle/logo.svg\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd valign=\"top\"\u003e\n        \u003ch3\u003eDrizzle ORM\u003c/h3\u003e\n        \u003cp\u003e\n          TypeScript ORM that feels like writing SQL. We highly recommend you take a look at \u003ca href=\"https://orm.drizzle.team\"\u003ethe Drizzle ORM documentation\u003c/a\u003e to level up.\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"80\" align=\"center\" valign=\"top\"\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://www.postgresql.org\"\u003e\n          \u003cimg src=\"./.github/assets/postgresql/logo.png\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd valign=\"top\"\u003e\n        \u003ch3\u003ePostgreSQL\u003c/h3\u003e\n        \u003cp\u003e\n          PostgreSQL is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. We highly recommend you take a look at \u003ca href=\"https://www.postgresql.org/docs\"\u003ethe PostgreSQL documentation\u003c/a\u003e to level up.\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n### Hosting \u0026 Domain Providers\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth width=\"2000\" colspan=\"2\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"80\" align=\"center\" valign=\"top\"\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://railway.app\"\u003e\n          \u003cimg src=\"./.github/assets/railway/logo.svg\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ch3\u003eRailway\u003c/h3\u003e\n        \u003cp\u003e\n          Infrastructure, Instantly. We highly recommend you take a look at \u003ca href=\"https://railway.app\"\u003ethe Railway documentation\u003c/a\u003e to level up.\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd width=\"80\" align=\"center\" valign=\"top\"\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://www.namecheap.com\"\u003e\n          \u003cimg src=\"./.github/assets/namecheap/logo.svg\" /\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd valign=\"top\"\u003e\n        \u003ch3\u003eNamecheap\u003c/h3\u003e\n        \u003cp\u003e\n          ICANN-accredited domain name registrar providing domain name registration and web hosting. We highly recommend you take a look at \u003ca href=\"https://www.namecheap.com\"\u003ethe Namecheap documentation\u003c/a\u003e to level up.\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n### VSCode Extensions\n\n| Name                       | Link                                                                           |\n| -------------------------- | ------------------------------------------------------------------------------ |\n| Vue - Official (Volar)     | https://marketplace.visualstudio.com/items?itemName=Vue.volar                  |\n| ESLint                     | https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint     |\n| Oxfmt - Code formatter     | https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode             |\n| GitLens — Git supercharged | https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens            |\n| Powershell                 | https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell       |\n| Material Icon Theme        | https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme  |\n| Better Comments            | https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments |\n\n## \u003ca name=\"local-development\"\u003e🏠 Local Development\u003c/a\u003e\n\n### Git configuration to enable symlinks\n\nThe projects make use of symlinks in the git project. On Windows, this may not work as expected without extra configuration. To configure git to create symlinks on windows, you need to enable the Windows \"Developer Mode\" setting, and also set the `core.symlinks` git feature using either of the following commands:\n\n```bash\n# Global setting\ngit config --global core.symlinks true\n\n# Local setting\ngit config core.symlinks true\n```\n\nAfter applying this setting, you may need to reset your local branch to ensure the files get rewritten as symlinks. Note that this step is destructive and you will want to push any changes you have made prior to resetting your branch.\n\n```bash\ngit reset --hard\n```\n\n### Installing Dependencies\n\n1. Install Node Modules:\n\n```bash\npnpm i\n```\n\n2. Install [PostgreSQL + PgAdmin](https://www.postgresql.org/download).\n\n3. Add `.env` file according to `.env.example` in `packages/app` directory.\n\nCheckout the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.\n\n### Development Server\n\n1. Build the packages to be used by the application:\n\n```bash\npnpm build:packages\n```\n\n2. Change to the app directory:\n\n```bash\ncd packages/app\n```\n\n3. Start the development server on \u003chttp://localhost:3000\u003e\n\n```bash\npnpm dev\n```\n\n### Production\n\nBuild the application for production:\n\n```bash\npnpm build\n```\n\nLocally preview production build:\n\n```bash\npnpm preview\n```\n\n### Architecture\n\nEsposter is a lerna + pnpm workspaces monorepo.\nPackages are used directly by the nuxt application via `workspace:*`.\n\n### Miscellaneous Tools\n\nhttps://devina.io/svg-minifier\n\n## \u003ca name=\"license\"\u003e⚖️ License\u003c/a\u003e\n\nThis project is licensed under the [Apache-2.0 license](https://github.com/Esposter/Esposter/blob/main/LICENSE).\n\n[badge-ci]: https://github.com/Esposter/Esposter/actions/workflows/CI.yaml/badge.svg?event=push\u0026branch=main\n[url-ci]: https://github.com/Esposter/Esposter/actions/workflows/CI.yaml?query=event%3Apush+branch%3Amain\n[badge-license]: https://img.shields.io/github/license/Esposter/Esposter.svg?color=blue\n[url-license]: https://github.com/Esposter/Esposter/blob/main/LICENSE\n[url-npm]: https://www.npmjs.com/package/Esposter/v/latest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesposter%2Fesposter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesposter%2Fesposter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesposter%2Fesposter/lists"}