This starter template combines an ASP.NET API π₯οΈ with a Next.js (React) web application π and an Expo (React Native) mobile app π± to provide a solid foundation for building full-stack applications with powerful APIs and responsive web and mobile interfaces.
π After releasing the initial version of the NextSolution template on NuGet, I observed a gradual increase in both NuGet downloads and GitHub stars over a few months. This positive feedback was a significant motivator for me to develop V2, which features an improved codebase and more organized patterns.
π If you find this next solution helpful, please consider giving it a star β and supporting the project through sponsorship. Your support makes ongoing enhancements and improvements possible. Thank you! π
- Add support for health checks to monitor critical services.
- Upgrade to .NET 9 for enhanced compatibility.
- Implement comprehensive unit testing using xUnit, Substitute, and FluentAssertions.
We welcome contributions! Check out the open pull requests
expo-demo.mp4
next-demo.mp4
Follow these steps to get your development environment up and running.
Before you begin, ensure you have the following installed:
- Visual Studio 2022 or later
- Visual Studio Code (optional)
- .NET 8.0 SDK (latest version)
- Node.js v20 (latest version, only required if you are using Next.js or Expo)
To set up your project using the NuGet template, follow these steps:
1. Install the NuGet template:
Open your terminal or command prompt and run the following command to install the template:
dotnet new --install NextSolution.Template::2.0.0
2. Create a New Project Using the Template:
After installing the template, you can either continue using the terminal or command prompt, or switch to Visual Studio to create the new project:
-
Using the terminal or command prompt:
Generate a new project by running the following command. Replace
YourProjectName
with your desired project name:
dotnet new nextsln -o YourProjectName --include-expo --include-next --configure-ngrok
--include-expo
: Include Expo project in the solution (Ngrok is recommended for exposing APIs to your Expo app).--include-next
: Include Next.js project in the solution.--configure-ngrok
: Configure Ngrok tunneling (requires signing up at Ngrok to obtain your token and a custom domain).
Move into the newly created project directory:
cd YourProjectName
Restore the project dependencies:
dotnet restore
Open the solution file in Visual Studio:
start YourProjectName.sln
-
Using Visual Studio:
Open Visual Studio, select "Create a new project," search for "Next Solution," select it, and follow the prompts to create your project.
Mobile Development Guide:
Set up your mobile development environment by following these steps:
-
Set Up Your Expo Development Environment
Follow the official Expo documentation to install all the necessary tools, configure your environment, and run your first Expo project.
-
Use React Native Paper Components
Since we're using React Native Paper, you can refer to the following documentation to get started with its components and features: Getting started with React Native Paper
Web Development Guide:
Set up your web development environment by following these steps:
-
Install a Web Browser
Choose and install any modern browser of your choice (e.g., Google Chrome, Firefox, Microsoft Edge). -
Use NextUI Components
Since we're using NextUI, you can refer to the following documentation to get started with its components and features: Getting started with NextUI
This template was built using a variety of powerful frameworks and tools, including those listed below and many others:
This template is distributed under the MIT License. Please refer to the LICENSE for further details.
With gratitude, I acknowledge these libraries, tools, and documentation which played a crucial role in the creation of this template.
Documentation:
- React Official Site
- React Native Official Site
- YouTube: React Native for Beginners
- YouTube: Understanding React Native Performance
- W3Schools: TypeScript
Tools, Frameworks & Libraries:
- React Hook Form
- Tailwind CSS
- React Native Paper
- Expo with React Native
- GitHub: FluffySpoon.Ngrok
- GitHub: ASP.NET Core JWT Authentication
Architecture & Design: