๐Ÿš€ Appwrite NextJS Starter

A Next.js starter template pre-configured with Appwrite, authentication flows, and Tailwind CSS.

๐Ÿ“š Overview

This starter template provides everything you need to build a modern web application with Next.js and Appwrite. It includes a full authentication system, user profile management, and a clean, responsive UI.

Perfect for quickly bootstrapping your next project without spending time on repetitive setup tasks.

โœจ Features

๐Ÿ“‹ Prerequisites

โš™๏ธ Installation

  1. Clone this repository:

    git clone https://github.com/diswasher-detergent/appwrite-nextjs-starter.git
  2. Navigate to the project:

    cd appwrite-nextjs-starter
  3. Install dependencies:

    pnpm install
  4. Create a .env file based on the .env.sample file.

  5. Create an API key in Appwrite, with the permissions session.write and update the .env with that key.

  6. Start the development server:

    pnpm run dev
  7. Open http://localhost:3000 in your browser to see the application.

๐Ÿšข Deploying Project using the Appwrite CLI

Appwrite CLI allows you to automate and streamline your Appwrite workflows.

๐Ÿ“ฅ Installation

  1. Install the Appwrite CLI globally:

    npm install -g appwrite-cli

๐Ÿ”ง Setup

  1. Login to your Appwrite account:

    appwrite login

๐Ÿš€ Push to Appwrite

  1. Deploy the project:

    appwrite push settings
  2. Deploy the database:

    appwrite push collections
  3. Deploy the bucket:

    appwrite push buckets

๐Ÿ”‘ Adding GitHub OAuth to Appwrite

  1. Go to your GitHub Developer Settings and create a new App.
  2. Set the Authorization callback URL to:

    https://cloud.appwrite.io/v1/account/sessions/oauth2/callback/github/appwrite-nextjs-starter
  3. After creating the OAuth App, you'll receive a Client ID and need to generate a Client Secret.
  4. In your Appwrite Console, navigate to Auth โ†’ Settings โ†’ OAuth2 Providers.
  5. Enable the GitHub provider and enter the Client ID and Client Secret from GitHub.
  6. Save your changes.

๐Ÿง  Learn More

๐Ÿค Contributing

Contributions are welcome! Feel free to open issues and submit pull requests.

๐Ÿ“ƒ License

This project is licensed under the MIT License - see the LICENSE file for details.