BookExchange is a web application that allows university students to exchange books for their academic courses. It provides a platform where students can upload books they want to exchange and request books from others, fostering a cost-effective and sustainable way to access course materials.
- User registration and login with email and password.
- User authentication and authorization using JWT (JSON Web Tokens).
- User profile management with the ability to add, edit, and remove uploaded books.
- Book upload with details such as title, author, department, course, and condition.
- Book search and filter options based on title, author, department, course, and availability status.
- Book exchange system allowing users to request books from others and confirm exchanges.
- Messaging system for users to communicate about book exchanges.
- Real-time notifications for new book requests and confirmed exchanges.
- Responsive design for a seamless experience across devices.
-
Front-end:
- Vue.js: JavaScript framework for building the user interface.
- HTML5 and CSS3: Markup and styling of the application.
- Vue Router: For handling client-side routing.
- Axios: HTTP client for making API requests.
-
Back-end:
- Node.js: Server-side JavaScript runtime.
- Express.js: Web framework for building the back-end API.
- MongoDB: NoSQL database for storing user and book data.
- Mongoose: MongoDB object modeling for Node.js.
Follow these instructions to get the project up and running on your local machine.
- Clone the repository:
git clone https://github.com/s-nishad/BookExchange.git cd BookExchange
cd client
npm install
cd ../server
npm install
cd client
npm run serve
cd server
npm start
create on the root folder of the project and add the following code