This is a full-stack application for an online bookstore that displays books from a database with pagination, sorting capabilities, and responsive design.
- RESTful API with ASP.NET Core
- React frontend with TypeScript
- Book listing with pagination
- Ability to sort by any field (client-side)
- Responsive UI with Bootstrap
- SQLite database integration
- .NET 8.0 SDK
- Node.js (v16+) and npm
- A modern web browser
/backend- ASP.NET Core Web API/frontend- React + TypeScript frontend application
- Clone the repository:
git clone <repository-url>
cd BookStoreApp- Install dependencies:
npm install
npm run install:frontendYou can run both the frontend and backend concurrently:
npm startOr run them separately:
- Backend:
npm run backend- Frontend:
npm run frontend-
GET
/api/Books- Get all books with pagination and sorting- Query Parameters:
pageNumber(default: 1)pageSize(default: 5)sortField(default: "title")sortOrder(default: "asc")
- Query Parameters:
-
GET
/api/Books/{id}- Get a specific book by ID
The application uses a SQLite database (Bookstore.sqlite) which contains a pre-populated collection of books.
- ASP.NET Core 8.0
- Entity Framework Core
- React 19
- TypeScript
- Bootstrap 5
- Axios for API calls
- SQLite for database