BookNook is a full-stack web application designed for book lovers to explore books, write reviews, and manage their reading lists. Built with modern technologies, it offers a seamless and intuitive experience for book enthusiasts.
- Browse Books: Explore a wide range of books with detailed information.
- User Reviews: Leave reviews for your favorite (or not-so-favorite) books.
- Reading Lists: Track and manage your personal reading list.
- Authentication: Secure login and registration using JSON Web Tokens (JWT).
- React with TypeScript: Provides a responsive and interactive user interface.
- Node.js with Express: Handles server-side logic and APIs.
- MongoDB: Stores user data, book details, reviews, and reading lists.
- JWT (JSON Web Tokens): Secures user sessions and API access.
- Node.js (v14 or higher)
- MongoDB (local or cloud instance)
- Clone the repository:
git clone https://github.com/cdrcknt/booknook.git
- Navigate to the project directory:
cd booknook
- Navigate to the backend directory:
cd backend - Install dependencies:
npm install
- Create a
.envfile with the following variables:MONGO_URI=<Your MongoDB Connection String> JWT_SECRET=<Your JWT Secret>
- Start the server:
npm start
- Navigate to the frontend directory:
cd ../frontend - Install dependencies:
npm install
- Start the development server:
npm start
The application should now be running on http://localhost:3000.
POST /auth/register: Register a new user.POST /auth/login: Authenticate and log in a user.
GET /books: Fetch all books.POST /books: Add a new book (protected).GET /books/:id: Fetch details of a specific book.POST /books/:id/review: Add a review to a book (protected).
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your message here" - Push to the branch:
git push origin feature/your-feature-name
- Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
For inquiries or feedback, contact:
- GitHub: cdrcknt