NextSolution.Template
2.0.0
dotnet new install NextSolution.Template::2.0.0
NextSolution V2 (ASP.NET API with Next.js, and Expo) 🚀
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.
Motivation
🚀 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! 🙌
Expo App Demo
https://github.com/user-attachments/assets/e33f0f81-c978-48c2-9a82-1f90102e6b7b
Next App Demo
https://github.com/user-attachments/assets/5c7b1698-a583-4d05-914a-20deb0257dd0
Getting Started
Follow these steps to get your development environment up and running.
Prerequisites
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)
Installation
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
Tools, Frameworks & Libraries
This template was built using a variety of powerful frameworks and tools, including those listed below and many others:
License
This template is distributed under the MIT License. Please refer to the LICENSE for further details.
Acknowledgments
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:
- GitHub: Clean Architecture
- UXWing: Free Icons
- Best-README-Template
- Gist: .NET Project Structure
- GitHub: .NET Template Reference
- Gist: Conventional Commit Messages
- Gist: Git Commit Message Emoji
Get in Touch
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.