A starter template for building web applications with Next.js and Appwrite.
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.
- π Authentication Flows
- π§ Email & Password Sign In/Sign Up
- π Password Recovery Process
- π OAuth Integration (GitHub, Google, etc.)
- π Data Management
- βοΈ Complete CRUD Operations Examples
- π File Storage Implementations
- β‘ Realtime Updates
- π Cache Invalidation
- π₯ Team Management
- π’ Create and Manage Teams
- π₯ Invite Team Members
- π Role-based Permissions (Owner, Admin, Member)
- πͺ Join/Leave Teams
- π Team-specific Content Access
- π€ User Management
- π¨βπ» Profile Editing & Customization
- π Team Affiliations
- π General
- π‘οΈ Protected Routes
- π¨ TailwindCSS
- π± Responsive Design
- π¦ Node.js 22.x or later
- π§ pnpm
- βοΈ Appwrite
- Clone this repository:
git clone https://github.com/diswasher-detergent/appwrite-nextjs-starter.git
- Navigate to the project:
cd appwrite-nextjs-starter
- Install dependencies:
pnpm install
-
Create a
.env
file based on the .env.sample
file:- Create an API key in Appwrite, with the permissions
session.write
and upadte the.env
with that key.
- Create an API key in Appwrite, with the permissions
-
Start the development server:
pnpm run dev
- Open http://localhost:3000 in your browser to see the application.
Appwrite CLI allows you to automate and streamline your Appwrite workflows.
Install the Appwrite CLI globally:
npm install -g appwrite-cli
- Login to your Appwrite account:
appwrite login
- Deploy the project:
appwrite push settings
- Deploy the database:
appwrite push collections
- Deploy the bucket:
appwrite push buckets
-
π Go to your GitHub Developer Settings and create a new App.
-
π Set the Authorization callback URL to:
https://cloud.appwrite.io/v1/account/sessions/oauth2/callback/github/appwrite-nextjs-starter
-
π After creating the OAuth App, you'll receive a Client ID and need to generate a Client Secret.
-
βοΈ In your Appwrite Console, navigate to Auth β Settings β OAuth2 Providers.
-
β Enable the GitHub provider and enter the Client ID and Client Secret from GitHub.
-
πΎ Save your changes.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.