Maddily / storysift

StorySift is a user-friendly book lookup/finder app designed to simplify the process of discovering and engaging with books. With streamlined search features, StorySift caters to book enthusiasts, students, and researchers alike.

Home Page:https://maddily.github.io/storysift/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

StorySift

StorySift is a user-friendly book lookup/finder app designed to simplify the process of discovering and engaging with books. With streamlined search features, StorySift caters to book enthusiasts, students, and researchers alike.

Table of Contents

Features

  • Search for Books: Users can search for books by entering keywords or phrases in a search bar.

Alt Text

  • View Search Results: Users can view a list of search results containing relevant book titles and authors.

Alt Text

  • Book Details: Users can click on a book from the search results to view detailed information, including the book summary and cover image.

Alt Text

  • User Authentication: Users can sign up for an account and sign in to access personalized features such as saving favorite books.

Alt Text

Alt Text

  • View profile details: Users that have signed up will have access to personalized features such as saving favorite books.

Alt Text

  • Bookshelves: Users can organize their saved books by category with the bookshelves feature.

Alt Text

How to Install

To install and run StorySift locally on your machine, follow these steps:

  1. Clone the repository to your local machine:
git clone https://github.com/Maddily/storysift.git
  1. Navigate to the project directory:
cd storysift
  1. Install the necessary dependencies using npm (Node Package Manager):
npm install
  1. Create a .env file in the root directory of the project and add your Google Books API key:
GOOGLE_BOOKS_API_KEY=your_api_key_here
  1. Start the server:
node app.js
  1. Once the server is running, open your web browser and navigate to http://localhost:3000 to access StorySift.

That's it! You can now use StorySift to search for books, view search results, and explore book details.

Technologies Used

StorySift is built using the following technologies:

  • Frontend:
    • HTML
    • CSS
    • JavaScript
  • Backend:
    • Node.js
    • Express.js
    • MongoDB (with Mongoose for database modeling)
  • Libraries:
    • Axios
    • CORS (Cross-Origin Resource Sharing) middleware for Express.js
  • API:
    • Google Books API

Data Model

new data models

Inspiration and Vision

At StorySift, our mutual interest in books sparked the creation of this project. Inspired by our shared passion for reading, we envisioned a platform where fellow book enthusiasts could effortlessly discover their next literary adventure.

Technical Challenges

Throughout our journey with StorySift, we encountered unexpected challenges that put our problem-solving skills to the test.

Firstly, tackling user authentication and managing sessions presented complexities. However, we viewed it as an opportunity to explore alternative methods, leading us to robust solutions with minimal overhead.

Additionally, during deployment, we initially considered using Netlify for hosting. However, realizing the complexity within our timeframe, we opted to host locally temporarily, allowing flexibility in finding a suitable hosting solution.

Despite these challenges, perseverance and innovative thinking led us to effective solutions, ensuring a polished and user-friendly experience with StorySift.

What We Envision for a Next Iteration

As we envision the future of StorySift, here's what lies ahead:

  • User Reviews and Ratings: Introducing a feature for users to share insights through reviews and ratings, enriching our platform.
  • Enhanced Search Functionality: Improving search capabilities for seamless discovery, offering precise results by genre, author, and more.
  • Profile Personalization: Empowering users with options to personalize their profiles, including uploading pictures and customizing bookshelf colors.
  • Machine Learning Recommendations: Delivering personalized book recommendations based on individual reading history and preferences.

With these updates, we're committed to enhancing the StorySift experience, making it more enjoyable and personalized for our users.

Timeline

The journey of crafting StorySift was a dynamic two-week endeavor, where each day presented new challenges and triumphs. From the initial conceptualization to the final touches, we poured our hearts and minds into this project, striving to create a seamless experience for book enthusiasts worldwide. Within this timeframe, we meticulously designed and developed the platform, overcoming hurdles with determination and ingenuity. Our collaborative efforts and unwavering dedication culminated in the birth of StorySift—a testament to our commitment to excellence and innovation in the realm of book discovery and exploration.

Contributing

To contribute to StorySift, follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-name).
  3. Make your changes.
  4. Commit your changes (git commit -am 'Add new feature').
  5. Push to the branch (git push origin feature-name).
  6. Create a new pull request.

Authors

Mayada Saeed - Github / LinkedIn
Sibongile Nhlema - Github / LinkedIn

Acknowledgments

Related-projects

License

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

About

StorySift is a user-friendly book lookup/finder app designed to simplify the process of discovering and engaging with books. With streamlined search features, StorySift caters to book enthusiasts, students, and researchers alike.

https://maddily.github.io/storysift/

License:MIT License


Languages

Language:JavaScript 80.7%Language:CSS 11.2%Language:HTML 8.2%