Project Overview This is a full-stack Book Store Web Application developed using React.js for the frontend and Node.js with SQL for the backend. The app allows users to browse, search for books, and manage book inventory in a seamless, user-friendly interface. It utilizes RESTful API endpoints to manage the flow of data between the client and server efficiently.
User-Friendly Interface: Responsive design built with React.js for browsing and searching books. Book Inventory Management: Supports adding, updating, and deleting book entries in the inventory. Search Functionality: Users can search for books by title or author. RESTful API: The application follows REST principles, enabling smooth data communication between the frontend and backend. SQL Database: Manages book inventory and user data using SQL for fast and reliable data management.
Frontend: React.js (with Hooks, Axios for API requests) Backend: Node.js, Express.js (for building the API) Database: SQL (for managing book and user data) Other Tools: Postman (for API testing), Git (for version control)
To run the project locally, follow these steps:
Clone the repository:
bash Copy code git clone https://github.com/adityap5/React-SQL.git cd React-SQL Backend Setup:
Navigate to the /backend directory: bash Copy code cd backend Install dependencies: bash Copy code npm install Create a .env file in the /backend directory and add your database configuration: makefile Copy code DB_HOST=your_database_host DB_USER=your_database_user DB_PASSWORD=your_database_password DB_NAME=your_database_name Run database migrations (if applicable) and seed data if needed. Start the backend server: bash Copy code npm start Frontend Setup:
Navigate to the /frontend directory: bash Copy code cd frontend Install dependencies: bash Copy code npm install Start the React development server: bash Copy code npm start
Visit http://localhost:3000 in your browser to access the application frontend. API Endpoints The application exposes the following RESTful API endpoints:
GET /books: Fetch all books. POST /books: Add a new book to the inventory. GET /books/:id: Fetch a specific book by ID. PUT /books/:id: Update details of a book. DELETE /books/:id: Delete a book from the inventory. Example API Request Get all books: bash Copy code curl http://localhost:5000/books Screenshots (Include screenshots of your application for better visualization)
User authentication (Login/Register). Implement book categories. Add book ratings and reviews. Deploy the app to a cloud service (e.g., Heroku, Vercel). Contributing If you'd like to contribute, feel free to create a pull request or open an issue. All contributions are welcome!
License This project is licensed under the MIT License.