BigDataIA-Spring2024-Sec1-Team4 / FinalProject

0 stars 1 forks source link

CityReads

Application Links

Application Link

Codelabs

Video

Problem Statement

Welcome to an innovative digital library platform that revolutionizes the way individuals connect with knowledge and stories in the digital age. Our mission is to create a user-centric experience that empowers users to explore, discover, and engage with content tailored to their unique interests and preferences.

In response to the limitations of traditional library interfaces, our platform aims to address the challenges users face in finding content that resonates with them. By harnessing the power of advanced technologies and data-driven methodologies, we will introduce personalized recommendations, interactive features, and immersive audio trailers to enhance the overall user experience.

Our platform will offer personalized book recommendations based on users' reading history and preferences, enhancing engagement and satisfaction. Additionally, users can enjoy audio trailers for recommended books, providing captivating previews of the content using AI-driven text-to-speech synthesis. These features aim to help users make informed decisions and connect with stories on a deeper level.

At the core of our efforts are the end users: library patrons seeking a more intuitive and enriching digital library experience.

Through personalized book recommendations and immersive audio trailers, our platform will provide users with a tailored and engaging experience. By integrating machine learning algorithms and AI-driven text-to-speech synthesis, we will create a dynamic library platform that empowers users to discover, explore, and connect with content in meaningful ways.

Our focus is on enhancing user satisfaction, facilitating informed decision-making, and fostering a vibrant community of readers. We invite stakeholders to join us on this journey as we shape the future of digital libraries and inspire a love of learning and storytelling.

Architecture Diagram

image

Technology Stack

Streamlit GCP provider GitHub Python Apache Airflow Pinecone OpenAI Clip Docker Amazon S3

Using the Application

chatbot

image

image

image

Project Structure:

├── Makefile
├── airflow
│   ├── config
│   ├── dags
│   │   ├── __pycache__
│   │   │   └── run.cpython-312.pyc
│   │   ├── run.py
│   │   └── scripts
│   │       ├── audio_linkgeneration.py
│   │       ├── audio_processing.py
│   │       ├── getSeattleLibrary.py
│   │       └── inventory_preprocessing.py
│   ├── logs
│   │   ├── dag_processor_manager
│   │   │   └── dag_processor_manager.log
│   │   └── scheduler
│   │       ├── 2024-04-25
│   │       │   └── run.py.log
│   │       └── latest -> 2024-04-25
│   └── plugins
├── backend
│   ├── Dockerfile
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── get_book_details.cpython-39.pyc
│   │   ├── main.cpython-310.pyc
│   │   ├── main.cpython-311.pyc
│   │   └── main.cpython-39.pyc
│   ├── main.py
│   ├── requirements.txt
│   └── utils
│       ├── __pycache__
│       │   ├── login_backend.cpython-310.pyc
│       │   ├── login_backend.cpython-311.pyc
│       │   ├── login_backend.cpython-39.pyc
│       │   ├── snowflake_connector.cpython-310.pyc
│       │   ├── snowflake_connector.cpython-311.pyc
│       │   └── snowflake_connector.cpython-39.pyc
│       ├── login_backend.py
│       └── snowflake_connector.py
├── docker-compose.yaml
├── requirements.txt
├── scripts
│   ├── DataPreprocessing
│   │   ├── Goodreads_Preprocessing.py
│   │   ├── Goodreads_Preprocessing_2.py
│   │   └── getBookInventory.py
│   ├── GoodreadsScraper
│   │   ├── CSV
│   │   │   ├── goodreads_merged.csv
│   │   │   ├── out_books.csv
│   │   │   ├── out_decade_books.csv
│   │   │   ├── out_mystrey_books.csv
│   │   │   ├── out_once_books.csv
│   │   │   └── out_young_books.csv
│   │   ├── GoodreadsScraper
│   │   │   ├── __init__.py
│   │   │   ├── __pycache__
│   │   │   │   ├── __init__.cpython-310.pyc
│   │   │   │   ├── items.cpython-310.pyc
│   │   │   │   ├── pipelines.cpython-310.pyc
│   │   │   │   └── settings.cpython-310.pyc
│   │   │   ├── custom_filters.py
│   │   │   ├── items.py
│   │   │   ├── middlewares.py
│   │   │   ├── pipelines.py
│   │   │   ├── settings.py
│   │   │   └── spiders
│   │   │       ├── __init__.py
│   │   │       ├── __pycache__
│   │   │       │   ├── __init__.cpython-310.pyc
│   │   │       │   ├── author_spider.cpython-310.pyc
│   │   │       │   ├── book_spider.cpython-310.pyc
│   │   │       │   ├── list_spider.cpython-310.pyc
│   │   │       │   └── mybooks_spider.cpython-310.pyc
│   │   │       ├── author_spider.py
│   │   │       ├── book_spider.py
│   │   │       └── list_spider.py
│   │   ├── book_goodreads_book.jl
│   │   ├── book_goodreads_decade_book.jl
│   │   ├── book_goodreads_mystrey_book.jl
│   │   ├── book_goodreads_once_book.jl
│   │   ├── book_goodreads_young_book.jl
│   │   ├── chromedriver
│   │   ├── cleanup.py
│   │   ├── crawl.py
│   │   ├── merge.py
│   │   ├── scrapy.cfg
│   │   └── scrapy.log
│   ├── book_attributes.csv
│   ├── book_attributes_null.csv
│   ├── csv_snowflake.py
│   ├── getBookProfile.py
│   └── openai_newkey.py
└── streamlit
    ├── Dockerfile
    ├── __pycache__
    │   ├── book_recommendation.cpython-310.pyc
    │   ├── book_recommendation.cpython-311.pyc
    │   ├── book_recommendation.cpython-39.pyc
    │   ├── search_book.cpython-310.pyc
    │   ├── search_book.cpython-311.pyc
    │   ├── search_book.cpython-39.pyc
    │   ├── search_book_new.cpython-310.pyc
    │   ├── search_book_new.cpython-311.pyc
    │   ├── search_book_new.cpython-39.pyc
    │   ├── user_dashboard.cpython-310.pyc
    │   ├── user_dashboard.cpython-311.pyc
    │   ├── user_dashboard.cpython-39.pyc
    │   ├── user_survey.cpython-310.pyc
    │   ├── user_survey.cpython-311.pyc
    │   └── user_survey.cpython-39.pyc
    ├── book_recommendation.py
    ├── login.py
    ├── main.py
    ├── pages
    ├── requirements.txt
    ├── search_book.py
    ├── search_book_new.py
    ├── streamlit_app.py
    ├── user_dashboard.py
    ├── user_survey.py
    └── utils
        ├── __pycache__
        │   ├── book_details.cpython-310.pyc
        │   ├── book_details.cpython-311.pyc
        │   └── book_details.cpython-39.pyc
        ├── book_details.py
        └── get_user_profile.py

References:

Team Contribution:

Name Contribution % Contributions
Anirudha Joshi 33.3% Architecture Planning, OpenAI Book Attributes Implementation, Database Querying, Dockerization, VM Deployment, Airflow Pipeline, Audio Trailers
Nitant Jatale 33.3% Architecture Planning, Database Setup, Book Recommendation Implementation, FastAPI, Pinecone Implementation
Rutuja More 33.3% Architecture Planning, Streamlit Interface Implementation, API Endpoints Building, Documentation