A modern monorepo application for managing stationary store operations, built with .NET 6 Web API backend and Next.js frontend.
WebStore/
├── backend/ # .NET 6 Web API Backend
│ ├── WebStore.API/ # Main API project
│ ├── WebStore.DAL/ # Data Access Layer
│ ├── WebStore.Model/ # Domain Models
│ ├── WebStore.Services/ # Business Logic Services
│ ├── WebStore.ViewModels/ # API ViewModels
│ ├── WebStore.Tests/ # Unit Tests
│ └── WebStore.Backend.sln # Backend Solution
└── frontend/ # Next.js Frontend
├── app/ # Next.js App Router
├── src/ # Source code
│ ├── components/ # React Components
│ ├── lib/ # Utilities and API client
│ └── types/ # TypeScript types
└── package.json # Frontend dependencies
- Products Management: CRUD operations for inventory
- Orders Management: Track and manage customer orders
- Store Management: Manage multiple store locations
- Address Management: Handle customer and store addresses
- Invoice Management: Generate and manage invoices
- Modern UI: Built with Next.js, TypeScript, and Tailwind CSS
- RESTful API: Clean API design with Swagger documentation
- .NET 6 SDK
- Node.js 18+ and npm
- SQLite (for development)
-
Navigate to the backend directory:
cd backend -
Restore dependencies:
dotnet restore
-
Run the database migrations:
dotnet ef database update --project WebStore.API
-
Start the API:
dotnet run --project WebStore.API
The API will be available at https://localhost:7000 with Swagger documentation at https://localhost:7000/swagger.
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Create environment file:
cp .env.example .env.local
-
Start the development server:
npm run dev
The frontend will be available at http://localhost:3000.
GET /api/products- Get all productsGET /api/products/{id}- Get product by IDPOST /api/products- Create new productPUT /api/products/{id}- Update productDELETE /api/products/{id}- Delete product
Similar endpoints are available for orders, stores, addresses, and invoices.
cd backend
dotnet testBackend:
cd backend
dotnet publish -c ReleaseFrontend:
cd frontend
npm run build- .NET 6 Web API
- Entity Framework Core
- SQLite
- AutoMapper
- xUnit (Testing)
- Next.js 14
- TypeScript
- Tailwind CSS
- React 18
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.