{"id":19967597,"url":"https://github.com/ceramicstudio/points-example","last_synced_at":"2025-05-04T00:31:55.208Z","repository":{"id":235580647,"uuid":"790954975","full_name":"ceramicstudio/points-example","owner":"ceramicstudio","description":"A simple demo application designed to illustrate a straightforward way to consume the points library by rewarding participants for joining the Ceramic Discord server","archived":false,"fork":false,"pushed_at":"2025-03-25T03:29:11.000Z","size":476,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-07T23:51:12.680Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ceramicstudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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-04-23T20:36:23.000Z","updated_at":"2024-12-12T16:39:11.000Z","dependencies_parsed_at":"2024-05-07T18:50:54.625Z","dependency_job_id":null,"html_url":"https://github.com/ceramicstudio/points-example","commit_stats":null,"previous_names":["ceramicstudio/points-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fpoints-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fpoints-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fpoints-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fpoints-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ceramicstudio","download_url":"https://codeload.github.com/ceramicstudio/points-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252272945,"owners_count":21721831,"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":[],"created_at":"2024-11-13T02:42:49.537Z","updated_at":"2025-05-04T00:31:54.944Z","avatar_url":"https://github.com/ceramicstudio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Points Demo Application\n\nA simple demo application designed to illustrate a straightforward way to consume the [Ceramic Points Library](https://www.npmjs.com/package/@ceramic-solutions/points?activeTab=readme). Seeing as the points library was built for developers and communities who might want to reward their participants for favorable behaviors (such as engagement on social platforms or meaningful contributions), this example application plays on this use case.\n\nIn this example, we will be using the points library to reward points to users for joining the Ceramic Discord server.\n\n## Dependencies\n\nIn order to run this example locally, you will need to create a copy of the [.env.example](.env.example) file in the root of this directory, rename it to `.env`, and begin loading the file with active corresponding values. These include the following:\n\n**NEXTAUTH_SECRET**\n\nWe will be using [NextAuth](https://next-auth.js.org/) as our open-source authentication solution (in order to verify Discord server membership). You can create a secret easily by running the following in your terminal:\n\n```bash\nopenssl rand -base64 32\n```\n\n**DISCORD_CLIENT_ID and DISCORD_CLIENT_SECRET**\n\nThis app will use Discord as the authentication provider (wrapped by NextAuth). To obtain these credentials, navigate to the [Discord Developer Portal](https://discord.com/developers/applications) and set up a new application. On the left-hand panel, click on \"OAuth2\" and bring over your Client ID and Client Secret from the \"Client Information\" box. \n\nFinally, since you'll be running the application locally, set the following URI value within the \"Redirects\" box (found under \"Client Information\"): `http://localhost:3000/api/auth/callback/discord`.\n\n**CERAMIC_PRIVATE_KEY**\n\nThis is the private key your application will use to instantiate a static key:did in order to write points using the library. This DID will act as the identifier for the issuer of points for your application (you).\n\nIf you have the [ComposeDB CLI](https://composedb.js.org/docs/0.7.x/api/modules/cli) installed globally, you can run the following command in your terminal to create one:\n\n```bash\ncomposedb did:generate-private-key\n```\n\n**AGGREGATION_ID**\n\nA default value for this environment variable has been provided for you within the [.env.example](.env.example) file. Please leave this as-is.\n\n**PROJECT_ID**\n\nWe will be using [WalletConnect's](https://walletconnect.com/) Web3Modal for Web3 authentication. In your new .env file, assign your project id to the key labeled `NEXT_PUBLIC_PROJECT_ID`. \n\nYou can set up a developer account for free by visiting [cloud.walletconnect.com](https://cloud.walletconnect.com/sign-in). Once authenticated, create a new app and copy over the \"Project ID\" value (found in the dashboard view for that corresponding app).\n\n## Getting Started\n\nOnce you've completed the steps above, you're ready to get started experimenting with the application in developer mode.\n\nFirst, install your dependencies:\n\n```bash\npnpm install\n```\n\nOnce installed, run the application in developer mode:\n\n```bash\npnpm dev\n```\n\n## Other Add-Ons\n\nIf you want to view a version that integrates awarding points for having a Gitcoin Passport score, as well as uses the allocation documents from the points library, check out the [with-gitcoin](https://github.com/ceramicstudio/points-example/tree/with-gitcoin) branch.\n\n## License\n\nDual licensed under MIT and Apache 2","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceramicstudio%2Fpoints-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fceramicstudio%2Fpoints-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceramicstudio%2Fpoints-example/lists"}