Skip to content

Bookstream features a clean and responsive interface, advanced search functionality, and secure payment processing. Perfect for developers looking to create or contribute to a dynamic, feature-rich bookstore application.

License

Notifications You must be signed in to change notification settings

lu-roth/BookStream

 
 

Repository files navigation

Bookstream Logo

Bookstream 📚

MIT License Next.js Express MongoDB Tailwind CSS Node.js

Bookstream is a dynamic, feature-rich bookstore application designed to provide a seamless user experience. With its clean, responsive interface, powerful search capabilities, and secure payment processing, Bookstream is ideal for developers building or contributing to an online bookstore.


Table of Contents


Features ✨

  • User Authentication: Secure login and registration using JWT.
  • Book Management: Comprehensive book management, including add, edit, and delete functionalities.
  • Advanced Search: Powerful search functionality to filter books by various criteria.
  • Secure Payment: Integrated secure payment processing for book purchases.
  • Responsive Design: Optimized for mobile, tablet, and desktop.

Tech Stack 🛠️

  • Frontend: Next.js, Tailwind CSS
  • Backend: Node.js, Express
  • Database: MongoDB
  • Authentication: JSON Web Tokens (JWT)

Installation 🚀

  1. Clone the repository:

    git clone https://github.com/yashksaini-coder/BookStream.git
  2. Install dependencies:

    cd BookStream
    npm install
  3. Create Environment Variables:

    • Create a .env.local file and add the following:
      MONGODB_URI=your_mongo_db_uri
      JWT_SECRET=your_jwt_secret
      NEXT_PUBLIC_PAYMENT_API_KEY=your_payment_api_key
      
  4. Run the application in development:

    npm run dev

    Access the app at http://localhost:3000.

Important Note

If you encounter issues, refer to the Common Issues section for troubleshooting steps.


Common Issues ⚠️

Production Build Error

When starting the server with npm start, you may see:

Error: Could not find a production build in the '.next' directory.

Solution: Run npm run build before starting the server.

ESLint Errors

You might encounter errors related to unescaped characters in JSX:

Error: `'` can be escaped with `'`, `‘`, `'`, `’`.  react/no-unescaped-entities

Solution: Escape unescaped characters in your JSX or disable the ESLint rule in your configuration.


Usage Examples 💡

User Login

Navigate to the login page, enter your credentials, and upon successful login, you’ll be redirected to the homepage.

Adding a Book

In the book management section, fill out the form with book details (e.g., title, author, genre) to add a new book.


License 📄

This project is licensed under the MIT License. See the LICENSE file for details.


Getting Started 🏁

  1. Run the development server:

    npm run dev

    Open http://localhost:3000 with your browser to see the result.

  2. Edit and Update:

    • Modify app/page.tsx. The page auto-updates as you edit.

Learn More 📚

To learn more about Next.js, check out these resources:


Deploy on Vercel ☁️

The easiest way to deploy your Next.js app is with Vercel.

Visit the Next.js deployment documentation for more details.


Contributing 🤝

We welcome contributions! Here’s how to contribute:

  1. Fork the repository.
  2. Create your feature branch:
    git checkout -b feature/YourFeature
  3. Commit your changes:
    git commit -m 'Add some feature'
  4. Push to the branch:
    git push origin feature/YourFeature
  5. Open a pull request.

Contributors List

Thanks to all contributors who have helped make this project better!

Contributors


Happy coding! 😊

About

Bookstream features a clean and responsive interface, advanced search functionality, and secure payment processing. Perfect for developers looking to create or contribute to a dynamic, feature-rich bookstore application.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 68.2%
  • JavaScript 31.5%
  • CSS 0.3%