Table of Contents
This repository provides a full-stack application template with Nextjs, Strapi, Apollo-Client, Graphql and Supabase, which allows you to create a fully functional web application with user authentication, database connectivity, and dynamic frontend rendering. The template also uses the pages
directory in Nextjs for easy routing and building of pages.
The main goal of this project is to provide an easy way to get your MVP up and running fast. Strapi and GraphQL serve as an easy way to design your API, Supabase provides easy PostgreSQL cloud database integration, and Apollo Client allows you to query the API and cache on Next.js without using middleware cache.
This template uses the following technologies:
- Strapi v4 - a headless CMS that provides database connectivity and user authentication
- Nextjs 13 - a React framework that provides server-side rendering and other features for building web applications
- Supabase - a cloud database service that provides PostgreSQL database hosting and user authentication
- Apollo Client - a state management library for building GraphQL-based applications
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
- npm
npm install npm@latest -g
Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.
To get started with this template, follow these steps:
- Clone the repository:
git clone <https://github.com/username/repo-name.git
> - Install dependencies for Strapi:
cd strapi && npm install
- Follow the example
.env.exaple
file in thestrapi
and nextjs directory and add your env variables - Start the Strapi server:
npm run develop
- Install dependencies for Nextjs:
cd ../nextjs && npm install
- Start the Nextjs server:
npm run dev
That's it! You should now be able to access the application at http://localhost:3000
and strapi server at http://localhost:1337
important: make sure to set up the roles permissions on each collection that you want to query in the users role and permissions, strapi comes with authenticated and public roles each role must be defined with permissions
This template provides a basic application with user authentication and a simple frontend that displays a list of items from the database. To use this template as the basis for your own application, you can modify the Strapi models to reflect your own data structure, and modify the Nextjs pages to display your own content.
- Connect Apollo Client with frontend and backend
- Set up strapi with supabase
- Add authentication flow: maybe using Supabase auth.user table or strapi plugins and permissions
- Multi-language Support
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 with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
in each dir for more information.
Carlos Zapata - @apticus - [email protected]
Project Link: https://github.com/your_username/repo_name