{"id":16159265,"url":"https://github.com/cstrnt/tigris-test","last_synced_at":"2026-01-31T10:30:53.109Z","repository":{"id":63190079,"uuid":"560772942","full_name":"cstrnt/tigris-test","owner":"cstrnt","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-06T15:17:23.000Z","size":194,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-10T11:03:35.098Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"tigris-test-gules.vercel.app","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/cstrnt.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":"2022-11-02T08:29:22.000Z","updated_at":"2022-11-12T11:20:54.000Z","dependencies_parsed_at":"2024-10-27T19:15:03.914Z","dependency_job_id":"38007cbf-69d5-4f7f-9998-7ffcb740bc3e","html_url":"https://github.com/cstrnt/tigris-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cstrnt/tigris-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cstrnt%2Ftigris-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cstrnt%2Ftigris-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cstrnt%2Ftigris-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cstrnt%2Ftigris-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cstrnt","download_url":"https://codeload.github.com/cstrnt/tigris-test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cstrnt%2Ftigris-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28938515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T10:18:23.202Z","status":"ssl_error","status_checked_at":"2026-01-31T10:18:22.693Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-10-10T01:57:53.431Z","updated_at":"2026-01-31T10:30:53.095Z","avatar_url":"https://github.com/cstrnt.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n[![Next][Next.js]][Next-url]\n[![TypeScript][TypeScript]][TypeScript-url]\n[![Vercel][Vercel]][Vercel-url]\n[![Apache License][license-shield]][license-url]\n\n# ⚡ ️Tigris example app on Next.js - Todo list\n\nA simple todo app built on [Next.js][Next-url] and [Tigris](https://docs.tigrisdata.com/) \nusing [TypeScript client](https://docs.tigrisdata.com/typescript/), deployed on [Vercel][Vercel-url].\n\n#### Project demo\n\n\u003ca href=\"https://tigris-nextjs-starter-kit.vercel.app/\"\u003e\n    \u003cimg src=\"public/readme/todo_app_screenshot.jpg\" alt=\"Todo web app\"\u003e\n\u003c/a\u003e\n\nhttps://tigris-nextjs-starter-kit.vercel.app/\n\n# ⚙️ Deploying the app\n\nAll you need is a [Github](https://github.com), [Vercel][Vercel-url] and Tigris\naccount([sign up for a free account](https://www.tigrisdata.com/nextjs#signup-form)). Now, Hit \"Deploy\"\nand follow instructions to deploy app to your Vercel account\n\n[![Deploy with Vercel](https://vercel.com/button)][Deploy-url]\n\n:tada: All done. You should be able to use app on the URL provided by Vercel. Feel free to play around\nor do a [code walkthrough](#code-walkthrough) next :tada:\n\n\u003e [Tigris integration](https://vercel.com/integrations/tigris) with Vercel will automatically fetch\naccess keys to populate [Environment Variables](.env.example) when deploying app.\n\n\u003cdetails\u003e\n\u003csummary\u003e2. Running Next.js server \u0026 Tigris dev environment on your local computer\u003c/summary\u003e\n\n## 📖 Running Next.js server \u0026 Tigris locally\n\n### Prerequisites\n\n1. Tigris installed on your dev computer\n   1. For **macOS**: `brew install tigrisdata/tigris/tigris-cli`\n   2. Other operating systems: [See installation instructions here](https://docs.tigrisdata.com/cli/installation)\n2. Node.js version 16+\n\n### Instructions\n\n1. Clone this repo on your computer\n```shell\ngit clone https://github.com/tigrisdata/tigris-vercel-starter\n```\n2. Install dependencies\n```shell\ncd tigris-vercel-starter\nnpm install\n```\n3. Run the Next.js server\n```shell\nnpm run dev\n```\n\u003eNote: This step will also initialize Tigris database and collection for app.\n\n:tada: All done. You should be able to use app on `localhost:3000` in browser. Feel free to play \naround or do a [code walk-through](#code-walkthrough) next :tada:\n\u003c/details\u003e\n\n# 👀 Code walkthrough\n\n\u003cdetails\u003e\n\u003csummary\u003e 📂 File structure\u003c/summary\u003e\n\n```text\n├── package.json\n├── lib\n│   ├── tigris.ts\n├── models\n│   └── tigris\n│       └── todoStarterApp\n│           └── todoItems.ts\n└── pages\n    ├── index.tsx\n    └── api\n        ├── item\n        │   ├── [id].ts\n        └── items\n            ├── index.ts\n            └── search.ts\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e 🪢 Tigris schema definition\u003c/summary\u003e\n\n[models/tigris/todoStarterApp/todoItems.ts](models/tigris/todoStarterApp/todoItems.ts) - The to-do list app \nhas a single collection `todoItems` that stores the to-do items in `todoStarterApp` database. The\nDatabase and Collection get automatically provisioned by the [setup script](scripts/setup.ts).\n    \nThis is an inspiration from Next.js based file system router. Create a folder or drop a schema file \ninside database folder under `models/tigris/`, and you're able to instantly create Databases and \nCollections in Tigris for your application.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e 🌐 Connecting to Tigris\u003c/summary\u003e\n\n[lib/tigris.ts](lib/tigris.ts) - Loads the environment variables you specified previously in creating a Vercel project\nsection and uses them to configure the Tigris client.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e ❇️ API routes to access data in Tigris collection\u003c/summary\u003e\n\nAll the Next.js API routes are defined under `pages/api/`. We have three files exposing endpoints: \n\n#### [`pages/api/items/index.ts`](pages/api/items/index.ts)\n\n- `GET /api/items` to get an array of to-do items as Array\u003cTodoItem\u003e\n- `POST /api/items` to add an item to the list\n\n#### [`/pages/api/items/search.ts`](/pages/api/items/search.ts)\n\n- `GET /api/items/search?q=query` to find and return items matching the given query\n\n#### [`pages/api/item/[id].ts`](pages/api/item/[id].ts)\n\n- `GET /api/item/{id}` to fetch an item\n- `PUT /api/item/{id}` to update the given item\n- `DELETE /api/item/[id]` to delete an item\n\n\u003c/details\u003e\n\n# 🚀 Next steps\n\nIn a few steps, we learnt how to bootstrap a Next.js app using Tigris and deploy it on Vercel. Feel\nfree to add more functionalities or customize App for your use-case and learn more about \n[Tigris data platform](https://docs.tigrisdata.com/overview/) \n\n# 🤝 Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create.\nAny contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. \nYou can also simply open an issue. Don't forget to give the project a star! \nThanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n[TypeScript]: https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\n[TypeScript-url]: https://www.typescriptlang.org/\n[Vercel]: https://img.shields.io/badge/vercel-F22F46?style=for-the-badge\u0026logo=vercel\u0026logoColor=white\n[Vercel-url]: https://vercel.com/\n[Deploy-url]: https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Ftigrisdata%2Ftigris-vercel-starter\u0026project-name=todo-list-app-tigris\u0026repo-name=todo-list-webapp-tigris\u0026demo-title=My%20To-do%20list%20webapp\u0026demo-description=A%20To-do%20list%20webapp%20using%20NextJS%20and%20Tigris\u0026integration-ids=oac_Orjx197uMuJobdSaEpVv2Zn8\n[Next.js]: https://img.shields.io/badge/next.js-000000?style=for-the-badge\u0026logo=nextdotjs\u0026logoColor=white\n[Next-url]: https://nextjs.org/\n[license-shield]: https://img.shields.io/github/license/tigrisdata/tigris-vercel-starter.svg?style=for-the-badge\n[license-url]: LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcstrnt%2Ftigris-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcstrnt%2Ftigris-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcstrnt%2Ftigris-test/lists"}