Skip to content

Latest commit

Β 

History

History
165 lines (99 loc) Β· 11.5 KB

README.md

File metadata and controls

165 lines (99 loc) Β· 11.5 KB

Next Solution Template

NuGet Downloads GitHub License NuGet Version

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! πŸ™Œ

Roadmap

  • 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 App Demo

expo-demo.mp4

Next App Demo

next-demo.mp4

Getting Started

Follow these steps to get your development environment up and running.

Prerequisites

Before you begin, ensure you have the following installed:

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:

  1. Install a Web Browser
    Choose and install any modern browser of your choice (e.g., Google Chrome, Firefox, Microsoft Edge).

  2. 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:

.NET Ngrok JWT Entity Framework AutoMapper FluentValidation Flurl Humanizer libphonenumber-csharp MailKit OAuth Serilog Twilio Swagger React.js React Native React Navigation Axios Expo Dev lodash nativewind react-hook-form zustand Visual Studio Code Visual Studio Android Studio Git GitHub Copilot Node.js React Native Paper NextUI

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:

Tools, Frameworks & Libraries:

Architecture & Design: