The Book Talks is a platform where users can discover, review, and discuss books. It allows users to create an account, add books to their collection, and share their thoughts and ratings on books.
- User authentication: Users can create an account, log in, and log out to access personalized features.
- Book management: Users can add books to their collection, including book details such as title, author, description, and cover image.
- Book reviews: Users can provide ratings and reviews for books and view reviews from other users.
- User profiles: Users have their own profiles displaying their added books, reviews, and other relevant information.
- Search functionality: Users can search for books based on title, author, or keywords.
- Responsive design: The application is optimized for various screen sizes, ensuring a seamless experience across devices.
- Frontend: React, Redux Toolkit
- Backend: Node.js, Express.js
- Database: MongoDB with Mongoose
- Authentication: JSON Web Tokens (JWT)
- Image storage: AWS S3 (Simple Storage Service)
- External APIs: (Optional) Integration with book-related APIs for additional book details and information.
To get started with the Book Talks application, follow the instructions below.
- Node.js (version >= 12.0.0)
- MongoDB database
-
Clone the repository:
git clone https://github.com/shaikahmadnawaz/book-talks.git
-
Navigate to the project directory:
cd book-talks
-
Install the dependencies:
npm install
-
Create a
.env
file in the server directory of the project and add the following environment variables:MONGO_URL="your-mongodb-uri" JWT_SECRET="your-jwt-secret" AWS_ACCOUNT_REGION="your-aws-region" AWS_ACCOUNT_ACCESS_KEY="your-aws-access-key" AWS_ACCOUNT_SECRET_ACCESS_KEY="your-aws-secret-access-key" AWS_BUCKET_NAME="your-aws-bucket-name"
-
Start the development servers for the client and the server:
- Open a terminal and navigate to the client folder:
cd client
- Start the development server:
npm start
- Open another terminal and navigate to the server folder:
cd server
- Start the development server:
npm run dev
- The application will be accessible at
http://localhost:3000
(frontend) andhttp://localhost:5000
(backend).
Contributions are welcome! To contribute to the project, follow the steps below:
- Fork the repository
- Create a new branch
- Make your changes
- Commit your changes
- Push your changes to the branch
- Submit a pull request
- Wait for your pull request to be reviewed and merged
- Celebrate! 🎉
- (Optional) Consider starring the repository! ⭐
- (Optional) Consider following me on GitHub! 🙌
- (Optional) Consider contributing again! 😎
- (Optional) Consider sharing the project with your friends! 👨👩👧👦
- (Optional) Consider tweeting about the project! 🐦
This project is licensed under the terms of the MIT License. See the LICENSE file for details.