Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/devkiran/NextAPI
A Next.js API starter for building SaaS apps
https://github.com/devkiran/NextAPI
nextjs nextjs-api nextjs-api-routes nextjs-starter nextjs-template saas-api saas-application saas-boilerplate saas-starter-kit supabase typescript
Last synced: about 1 month ago
JSON representation
A Next.js API starter for building SaaS apps
- Host: GitHub
- URL: https://github.com/devkiran/NextAPI
- Owner: devkiran
- License: mit
- Created: 2023-01-05T04:47:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-12T18:00:18.000Z (about 1 year ago)
- Last Synced: 2024-07-05T12:26:42.374Z (2 months ago)
- Topics: nextjs, nextjs-api, nextjs-api-routes, nextjs-starter, nextjs-template, saas-api, saas-application, saas-boilerplate, saas-starter-kit, supabase, typescript
- Language: TypeScript
- Homepage: https://dub.sh/kirandev
- Size: 411 KB
- Stars: 117
- Watchers: 2
- Forks: 32
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- my-awesome-list - NextAPI
README
# NextAPI
A Next.js RESTful API Starter for building SaaS app.
## Introduction
Let NextAPI handle the heavy lifting for common SaaS features such as authentication, team management, invites, subscriptions, and more.
Say goodbye to tedious backend boilerplate code and focus on what matters most - building user-friendly UI/UX that delight your customers.
With its powerful combination of Next.js, Supabase, and Prisma - NextAPI provides the perfect foundation for creating scalable and feature-rich SaaS apps.
[API Documentation](https://saas-api.dev/introduction)
## Built with
- [Next.js](https://nextjs.org/)
- [Supabase](https://supabase.io/)
- [Prisma](https://www.prisma.io/)
- [TypeScript](https://www.typescriptlang.org/)
- [React.email](https://react.email/)## API routes
NextAPI comes with a set of API routes that you can use within your React components.
| Method | Path | Description |
| ------ | ---------------------------------- | ------------------------ |
| POST | /api/auth/signup | Sign up a new user |
| POST | /api/auth/signin | Sign in an existing user |
| POST | /api/teams | Create a new team |
| GET | /api/teams | Get all teams for user |
| GET | /api/teams/:slug | Get a team |
| DELETE | /api/teams/:slug | Delete a team |
| PUT | /api/teams/:slug | Update a team |
| POST | /api/teams/:slug/invites | Create a new invite |
| GET | /api/teams/:slug/invites | Get all invites for team |
| GET | /api/teams/:slug/invites/:inviteId | Get an invite |
| DELETE | /api/teams/:slug/invites/:inviteId | Delete an invite |
| GET | /api/teams/:slug/members | Get all members for team |
| PUT | /api/teams/:slug/members/:memberId | Update a member |
| DELETE | /api/teams/:slug/members/:memberId | Delete a member |
| GET | /api/me | Get current user |
| PUT | /api/me | Update current user |
| POST | /api/invites/:inviteId/accept | Accept an invite |
| POST | /api/invites/:inviteId/decline | Reject an invite |## Emails are sent for the following events
- When a new user signs up
- When a new invite is created
- When a user is added to a team
- When a user is removed from a team## Getting started
- Fork this repository
- Clone your forked repository
- Navigate to the project directory
- Run `npm install` to install dependencies
- Copy `.env.example` to `.env.local` and update the environment variables
- Run `npx prisma migrate deploy` to apply migrations
- Run `npm run dev` to start the development server## License
MIT License