This web application allows users to manage a list of products with full CRUD operations. It features a user-friendly interface built with React.js for the frontend, and a robust backend built with .NET Core. Users can add, update, view, and delete products, and the application includes input validation, error handling, and JWT-based authentication (optional for bonus points).
Product List: View all products with sorting and filtering options.
Product Form: Add and edit product details (Name, Price, Description, Category).
CRUD Operations: Perform Create, Read, Update, and Delete actions.
Client-side Validation: Ensure valid input for product fields.
Confirmation Prompts: Confirm before deleting products.
RESTful API: Expose endpoints for CRUD operations on products.
Database Interaction: Use Entity Framework Core to interact with SQL Server or SQLite.
Input Validation: Ensure proper validation of incoming data for all operations.
Error Handling: Implement proper error handling for invalid requests and database errors.
Authentication: Implement JWT-based authentication for secure access to the application.
React.js
Material-UI
Axios (for API calls)
.NET 8
Entity Framework InMemory
C# Web API
Entity Framework InMemory (for in-memory database)
Clone the repository
cd task-management-frontend
Install dependencies:
npm install
Start the React development server:
npm start
Clone the repository:
cd task-management-backend
Restore the .NET dependencies:
dotnet restore
Run the backend API:
dotnet run
The backend will be running at http://localhost:5002.
Change the database connection string in appsettings.json.
Delete the Migrations folder
Run following commands
dotnet ef migrations add InitialCreate
dotnet ef database update
Start both the frontend and backend servers.
The frontend will automatically interact with the backend API.
React 18+
Axios
Material-UI
.NET 8
Entity Framework InMemory
State Management: Managing complex state in React using hooks and ensuring smooth updates across components.
Database Schema: Designing the database schema efficiently with Entity Framework Core for seamless CRUD operations.
Authentication (optional): Implementing JWT authentication to secure API endpoints.
MIT License - See LICENSE for more details.