/Web_Spark_Analysis_Python

This innovative tool harnesses the power of the YouTube API to collect relevant data and provide users with comprehensive analyses of their channel's performance.

Primary LanguagePythonMIT LicenseMIT



Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Database Setup and Configuration
  4. Technology
  5. Roadmap
  6. License
  7. Contact

About The Project

Product Name Screen Shot

Welcome to our Flask Python web application designed to create insightful summary reports, complete with charts, based on input YouTube usernames. This innovative tool harnesses the power of the YouTube API to collect relevant data and provide users with comprehensive analyses of their channel's performance.

With just a few simple steps, users can input their YouTube username, and our application will swiftly gather essential information, such as views, likes, comments, and more. Leveraging this data, our app generates intuitive charts and graphs that offer valuable insights into the channel's growth, engagement, and audience demographics.

Whether you're a content creator seeking to understand your audience better or a marketing professional aiming to optimize your YouTube strategy, our web app provides actionable intelligence to drive informed decision-making. Our user-friendly interface ensures a seamless experience, allowing users to access detailed reports effortlessly.

Harness the power of data-driven decision-making with our Flask Python web application, and unlock the full potential of your YouTube channel today! 😄 😄 😄


Built With

python Flask Gunicorn Heroku Spark Youtube SQLite GitHub MIT License Contributors Issues


Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Installation

The Instruction for installing and set up the project locally.

Prerequisites

  1. Before running the code examples, we have to clone the repository to your local machine:
  • Git Clone: Clone the repository to your local machine:

      git clone https://github.com/NolanMM/Web_Spark_Analysis_Python.git
  1. Before running the code examples, make sure you have the virtual enviroment is installed and be ready to use: We need to create a new Python 3.11 virtual enviroment for this project.
  • If you want to create a new virtual enviroment, you can use the following command in the terminal of the project directory:

    • In Windows or Linux, you can use the following command:
      python -m venv venv
    • Then, you can activate the virtual enviroment by using the following command:
      venv\Scripts\activate
    • In MacOs, you can use the following command:
      python3 -m venv venv
    • Then, you can activate the virtual enviroment by using the following command:
      source venv/Scripts/activate
  • Make sure the virtual environment needed for project is activate with corresponding project directory, you can use the following command:

    • In Windows or Linux, you can use the following command:
      venv\Scripts\activate
    • In MacOs, you can use the following command:
      source venv/Scripts/activate
  • Install requirements.txt: Automatically installed dependencies that needed for the project:

      pip install -r requirements.txt

Usage

To use the code examples in this repository, follow these steps:

  1. Install the required dependencies as mentioned in the Prerequisites section.

  2. Run the following command in the terminal to start the server:

  gunicorn app:app

Database Setup and Configuration

To create the new database for this repository, follow these steps:

  1. Double-check if /instance/SparkWeb.db file is existed in the project directory. If yes, delete it.

  2. Run the Database_Handle/Create_Table.py in the terminal to start the server:

  python Database_Handle/Create_Table.py

To create the new database for this repository, follow these steps:

  1. Double-check if /instance/SparkWeb.db file is existed in the project directory. If yes, delete it.

  2. Run the Database_Handle/Create_Table.py in the terminal to create new instance of the database for the project:

  python Database_Handle/Create_Table.py

To check all the data and columns with data type in the database of this repository, follow these steps:

  1. Double-check if /instance/SparkWeb.db file is existed in the project directory. If not, create a new one by steps above.

  2. Run the Database_Handle/DoubleCheckTable.py in the terminal to clear all the data in the database of the project:

  python Database_Handle/DoubleCheckTable.py

To clear all the data in the database of this repository, follow these steps:

  1. Double-check if /instance/SparkWeb.db file is existed in the project directory. If not, create a new one by steps above.

  2. Run the Database_Handle/Clear_Table.py in the terminal to clear all the data in the database of the project:

  python Database_Handle/Create_Table.py

Technologies

Before running the code examples, make sure you have the following dependencies installed:

  • Flask: A micro web framework written in Python. You can install it via pip:

    pip install flask
  • Flask-SqlAlchemy: : An extension for Flask that adds support for SQLAlchemy, a powerful SQL toolkit and Object-Relational Mapping (ORM) library for Python. You can install it via pip:

    pip install flask-sqlalchemy
  • Google Youtube APIs: APIs provided by Google for interacting with YouTube services, such as uploading videos, retrieving video metadata, and managing playlists. You can install the Python client library via pip:

    pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
  • Pyspark: A unified analytics engine for large-scale data processing built on top of Apache Spark. You can install it via pip:

    pip install pyspark
  • Gunicorn: A Python WSGI HTTP Server for UNIX. You can install it via pip:

    pip install gunicorn
  • Boostrap: Bootstrap is a popular front-end framework for building responsive and mobile-first websites and web applications:

    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">

Roadmap

This is a list of features that we are planning to add in the future:

  • Continuous Development on Advanced Analytics
  • Instagram and Twitter APIs Integration for Social Media Analytics
  • Facebook and LinkedIn APIs Integration for Social Media Analytics
  • Implement and improve the test coverage
  • Files Downloaded Support
  • Improve the User Interface
  • Improve the User Experience
  • Add more features to the platform
  • Improve the performance of the platform
  • Language Support
    • Vietnamese

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

NolanM - Minh Nguyen - @Gmail - minhlenguyen02@gmail.com

Project Link: https://github.com/NolanMM/Web_Spark_Analysis_Python