Skip to content

Built and deployed a full-stack project in just 7 days, integrating CSV analysis, image manipulation, and text summarization functionalities. Developed using React for the frontend and Flask for the backend.

License

Notifications You must be signed in to change notification settings

Sambonic/fullstack-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Overview

This project involves creating a comprehensive full-stack application that includes features such as tabular data analysis, RGB image manipulation, and textual data analysis. It utilizes a variety of technologies and development practices to achieve a well-rounded, functional system.

Last Updated: August 10th, 2024

Table of Contents

  1. Introduction
  2. Installation
  3. Time Allocation
  4. Methodology
  5. Backend Development
  6. Challenges
  7. Strategic Technology Choices
  8. Licensing and Intellectual Property

Homepage

Introduction

This project encompasses multiple services: tabular data analysis, RGB image manipulation, and textual data analysis. It leverages React for the frontend, Flask for the backend, Backblaze B2 for image storage, SQLite3 for tabular data, and the LlamaIndex framework for text processing.

Installation

To set up and run the application, follow these instructions:

Backend (Python)

Make sure you have python downloaded if you haven't already. Follow these steps to set up the environment and run the application:

  1. Clone the Repository:

    git clone https://github.com/Sambonic/fullstack-analysis
  2. Create a Python Virtual Environment:

    python -m venv env
  3. Activate the Virtual Environment:

    • On Windows:

      env\Scripts\activate
      
    • On macOS and Linux:

      source env/bin/activate
      
  4. Ensure Pip is Up-to-Date:

    python.exe -m pip install --upgrade pip
    
  5. Install Dependencies:

    pip install -r requirements.txt
    
  6. Change Directory

    cd backend
  7. Run:

    python app.py
    

Frontend (React)

  1. Ensure Node.js is Installed

  2. Change Directory

    cd frontend
  3. Install Dependencies

    npm install
  4. Run:

    npm start

Tabular Data Page

Time Allocation

Significant time was dedicated to researching technologies and libraries to ensure they met project requirements effectively and could be understood quickly within the deadline. The development phase involved building core features and iterating to refine functionalities. Testing focused on ensuring reliability through unit and integration tests. Deployment included configuring environments and preparing the application for production, ensuring a smooth transition to live operation.

Methodology

Incremental Development

The project followed an incremental programming approach, breaking down the work into three distinct phases:

Project Phases

  1. Tabular Data Analysis: Started with basic functionalities like CSV uploads and field updates. Gradually added features for sorting, statistical analysis, and exporting data.

  2. RGB Image Manipulation: Began with fundamental image handling. Incrementally introduced batch processing, virtual editing, and popular image manipulation features such as resizing and cropping.

  3. Textual Data Analysis: Launched with basic text processing and summarization tool using the LlamaIndex framework for effective handling of textual data.

Backend Development

Flask was used to manage backend services efficiently. It handled CSV uploads, data processing, and CRUD operations for tabular data. For RGB image manipulation, Flask managed uploads, storage, and transformations. In textual data analysis, Flask facilitated text summarization, keyword extraction, sentiment analysis, and T-SNE visualizations. Its flexibility and scalability were essential in building a robust backend.

RGB Images Page

Challenges

The project faced several challenges, including managing data flow between frontend and backend, resolving a critical Node.js crash that required extensive debugging, and reworking integration logic due to limited knowledge of non-Python technologies.

Strategic Technology Choices

Technologies were selected based on strategic needs: React for its dynamic and interactive frontend capabilities, Flask for efficient backend management, Backblaze B2 for straightforward image storage, SQLite3 for simple tabular data management, and LlamaIndex for effective text summarization and sentiment analysis with mid-size tokens.

Licensing

This project represents significant intellectual property and is shared for evaluation purposes only. It is not to be used for commercial purposes or for generating profit without explicit permission. All rights are retained by the creator.

About

Built and deployed a full-stack project in just 7 days, integrating CSV analysis, image manipulation, and text summarization functionalities. Developed using React for the frontend and Flask for the backend.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published