GithubHelp home page GithubHelp logo

thewwwthing / tigris-vercel-starter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tigrisdata-archive/tigris-vercel-starter

0.0 0.0 0.0 421 KB

Demo app using Tigris and Next JS deployed on Vercel

Home Page: https://tigris-nextjs-starter-kit.vercel.app/

License: Apache License 2.0

Shell 1.46% JavaScript 0.48% TypeScript 73.69% CSS 24.37%

tigris-vercel-starter's Introduction

Next TypeScript Vercel Apache License

⚡ ️Tigris example app on Next.js - Todo list

A simple todo app built on Next.js and Tigris using TypeScript client, deployed on Vercel.

Project demo

Todo web app

https://tigris-nextjs-starter-kit.vercel.app/

⚙️ Deploying the app

All you need is a Github, Vercel and Tigris account(sign up for a free account). Now, Hit "Deploy" and follow instructions to deploy app to your Vercel account

Deploy with Vercel

🎉 All done. You should be able to use app on the URL provided by Vercel. Feel free to play around or do a code walkthrough next 🎉

Tigris integration with Vercel will automatically fetch access keys to populate Environment Variables when deploying app.

2. Running Next.js server & Tigris dev environment on your local computer

📖 Running Next.js server & Tigris locally

Prerequisites

  1. Tigris installed on your dev computer
    1. For macOS: brew install tigrisdata/tigris/tigris-cli
    2. Other operating systems: See installation instructions here
  2. Node.js version 16+

Instructions

  1. Clone this repo on your computer
git clone https://github.com/tigrisdata/tigris-vercel-starter
  1. Install dependencies
cd tigris-vercel-starter
npm install
  1. Start Tigris local development environment
tigris dev start
  1. Run the Next.js server
npm run dev

Note: This step will also initialize Tigris database and collection for app.

🎉 All done. You should be able to use app on localhost:3000 in browser. Feel free to play around or do a code walk-through next 🎉

👀 Code walkthrough

📂 File structure
├── package.json
├── lib
│   ├── tigris.ts
├── models
│   └── tigris
│       └── todoStarterApp
│           └── todoItems.ts
└── pages
    ├── index.tsx
    └── api
        ├── item
        │   ├── [id].ts
        └── items
            ├── index.ts
            └── search.ts
🪢 Tigris schema definition

models/tigris/todoStarterApp/todoItems.ts - The to-do list app has a single collection todoItems that stores the to-do items in todoStarterApp database. The Database and Collection get automatically provisioned by the setup script.

This is an inspiration from Next.js based file system router. Create a folder or drop a schema file inside database folder under models/tigris/, and you're able to instantly create Databases and Collections in Tigris for your application.

🌐 Connecting to Tigris

lib/tigris.ts - Loads the environment variables you specified previously in creating a Vercel project section and uses them to configure the Tigris client.

❇️ API routes to access data in Tigris collection

All the Next.js API routes are defined under pages/api/. We have three files exposing endpoints:

  • GET /api/items to get an array of to-do items as Array
  • POST /api/items to add an item to the list
  • GET /api/items/search?q=query to find and return items matching the given query
  • GET /api/item/{id} to fetch an item
  • PUT /api/item/{id} to update the given item
  • DELETE /api/item/[id] to delete an item

🚀 Next steps

In a few steps, we learnt how to bootstrap a Next.js app using Tigris and deploy it on Vercel. Feel free to add more functionalities or customize App for your use-case and learn more about Tigris data platform

🤝 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue. Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

tigris-vercel-starter's People

Contributors

adilansari avatar tahakhan avatar ovaistariq avatar dependabot[bot] avatar thewwwthing avatar cstrnt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.