This project is a full-stack application developed to demonstrate the core CRUD (Create, Read, Update, Delete) operations for managing book records.
| Component | Technology | Role |
|---|---|---|
| Backend (API) | C# .NET 8 | RESTful API endpoints for all book CRUD operations. |
| Database | SQLite | Local, file-based database integrated using Entity Framework Core. |
| Frontend (Client) | React with TypeScript | User-friendly interface built with modern React Hooks and TypeScript. |
| Styling | Tailwind CSS | Used for aesthetically pleasing design. |
The application uses a full-stack structure. Both the API and the Client must be started in separate terminals. Clear and concise instructions are provided here.
Ensure you have the following installed:
- Node.js (LTS) and npm (for the
frontend). - .NET 8 SDK (For the
backend)
- Clone the repository and install dependencies:
# Clone the project git clone https://github.com/ChamenKalindu/Library-Management-System.git cd Library-Management-System # Install Node dependencies (for the frontend) cd frontend npm install cd ..
The API is configured to run on port 7278 (HTTPS).
-
Navigate to the backend directory:
cd server-lms -
Run Database Migrations (One-time setup): This ensures the SQLite database file and schema are created.
dotnet ef database update
-
Start the API Server:
dotnet run # The API will be available at https://localhost:7278
- Open a second terminal window (keep the backend running).
- Navigate to the frontend directory:
cd frontend - Start the Vite Development Server:
npm run dev
- The client application will automatically open in your browser (usually at
http://localhost:5173). - Vite Proxy: The client uses a proxy configuration (
/apiinvite.config.js) to route requests to the running backend athttps://localhost:7278.
- The client application will automatically open in your browser (usually at