Table of Contents
Introduction
React Starter Template for ABP application with Next.js and Tailwind CSS is ready to use. You can use this template to start your next project.
Why?
I have been working on a project that uses ABP Framework, Next.js and Tailwind CSS for a while and I want to create a template that will kickstart my next project easily. Since ABP doesn't have React Template yet. I thought it would be useful for others as well. So, I decided to share it with you. I hope you find it useful.
What is ABP Framework?
ABP Framework is a full stack web application framework. It is based on ASP.NET Core. It provides a lot of features out of the box. You can use it to build enterprise applications. It is free and open source. You can find the source code on GitHub. You can also find the documentation on docs.abp.io.
What is Next.js?
Next.js is a React framework. It removes lots of complexity of the react application. It is free and open source. You can find the source code on GitHub.
What is Tailwind CSS?
Tailwind CSS is a utility-first CSS framework. You can find the source code on GitHub.
Getting Started
Prerequisites
Installing Template
Install the ABP React .Net Template
dotnet new install Anto.Abp.React.Template
Note: This only creates React Application. You need to create an ABP application separately. You can find the documentation here.
Creating a new project
Create a new project using the template
dotnet new abp-react -o my-project-name
Note: You can use any name for the project. I used
my-project-name
for this example. keep in mind that the project name should be in kebab case (all lowercase and words separated by hyphens) because it will be used as the name of the packages org name.
Running the project
cd MyProjectName
pnpm install
pnpm dev
Note: You can use any other package manager instead of pnpm. But I recommend using pnpm. It's fast and reliable. Make sure you have ABP application is running before running the app.
Best Use Case
The best use case is to create customer facing applications. You can use it to create a dashboard or a portal. You can also use it to create a public website. The template is not limited to these use cases. You can use it to create any kind of application. It supports SSR, CSR and static pages.
Demo Application
You can find the demo application here. You can use the following credentials to login.
- Username: admin
- Password: 1q2w3E*
Source Code
You can find the source code on GitHub.
If you find this template useful, please consider starring the repository. It will help others to find it easily.
Key Technologies
- Next JS
- Tailwind CSS
- TypeScript
- DaisyUI
- Radix UI
Features
- Authentication
- Authorization
- Role Management
- User Management
- Tenant Management
- Localization
- Theming
- Responsive Design
Goals
- Provide a starter template for ABP Framework with React.
- It should be easy to use and extend.
- It should be easy to add new features.
- It should be easy to customize.
- It should be easy to integrate with ABP Framework.
- It should be up to date with ABP Framework and React.
The main focus is the customization. you should be able to bring your own Design system and UI components. I have only used Tailwind CSS and Radix UI for the demo application. You can use any other design system and UI components.
Special Thanks
Special thanks to Sajan for his help. His help was invaluable. I started this project a while ago. But I couldn't find time to finish it. He helped me to finish it. Thanks a lot, Sajan.
Documentation
I'm working on the documentation. It will be available soon.
Contributing
I'm open to contributions. Please feel free to open an issue or a pull request.
What to expect next?
Multi-tenant support is coming soon. I'm working on it. I will update this post when it's ready. I will also update the documentation.
Road map
Most of the features are implemented. We are planning to keep it similar to the ABP Framework Open Source Application. That means all the commercial features will not be implemented.
Conclusion
I hope you find this template useful. If you have any questions or suggestions, please feel free to open an issue or a pull request. I will try to answer them as soon as possible. Thanks for reading. Happy coding!
Related Posts
OpenID Connect with Next.js 15 and openid-client 6
A guide to implementing secure authentication using OpenID Connect in Next.js 15 with the openid-client library version 6
Ollama Semantic Kernel Connector With C#: Console App & API Guide
In this post, we will learn how to use the Ollama Semantic Kernel Connector with C#.
ABP-Powered Web App with Inertia.js, React, and Vite
Building a web application with ABP Framework, Inertia.js, React, and Vite.