#csharp #netcore #restapi #reactnative #expo #postgresql #javascript
ShoppingHub is a full-stack mobile shopping cart application that enables users to add products to basket, manage their shopping carts, and place the orders. The project is built using .NET Core for the backend API with Clean Architecture principles and React Native Expo for the frontend.
- User Authentication: Users can register and log in securely to access personalized shopping features.
- Shopping Cart: User can add, remove, and view products to the basket.
- Order Creation: Finalize the basket and create an order for the logged user.
- Basket List: View a list of created baskets for user in Basket List Screen.
- Basket Details: Access detailed information about a specific basket.
-
Backend:
- .NET Core Web API
- Clean Architecture with Domain, Application, Infrastructure, and Presentation layers.
- CQRS Pattern for better separation of concerns.
- Generic Repository and Unit of Work patterns for data access.
- PostgreSQL for the relational database.
- Fluent Validation for input validation.
- Serilog for logging.
-
Frontend:
- React Native Expo for cross-platform mobile development.
-
Clone the repository.
git clone https://github.com/iburaksag/dotnet7-ShoppingHub.git
-
Create a PostgreSQL database and update the connection string in appsettings.json.
-
Apply migrations to create the database
dotnet ef database update
-
Run the API.
dotnet run
- Navigate to the Frontend directory.
cd ../ShoppingHubUI
- Install dependencies.
npm install
- Start the Expo project.
npx expo start
- Register or log in to start shopping.
- Create a new basket and add products to the basket.
- Review and finalize your cart to create an order.
- Click Complete Order and create the basket.
- Explore the list of created baskets and view details if needed.