Git Product home page Git Product logo

massive-s3-uploader's Introduction

Massive Uploader S3 - MUS3

This is a project that implements a bulk file upload service to Amazon S3, accompanied by a user interface for visualizing and managing the uploaded files.

66shots_so

Features

  • Seamless AWS S3 integration for file uploads.
  • Real-time WebSocket notifications for upload progress.
  • Modern and responsive user interface.

Technologies

  • Backend:

    • Go (Golang)
    • Fiber (Web Framework)
    • AWS SDK for Go (S3 Integration)
    • Fiber WebSocket (WebSocket Communication)
  • Frontend:

    • React
    • Vite.js (Build Tool)
    • Axios (HTTP Requests)
    • WebSocket API

Backend

Prerequisites

  • Go (v1.16 or higher)
  • AWS CLI (to configure Amazon S3 credentials)
  • Project dependencies (can be installed by running go get ./... in the project directory)

Configuration

  1. Configure AWS credentials by running aws configure.

  2. Copy the .env.example file to .env.local and fill in the required environment variables.

Execution

To start the backend, run the following command:

go run main.go local (or go run main.go prod)

or

air local (or air prod)

The server will be available at http://localhost:33003 by default.

Frontend

Prerequisites

  • Node.js (v14 or higher)
  • npm (installed with Node.js)
  • Vite.js (installed globally using npm install -g create-vite)

Configuration

  1. Navigate to the frontend directory (/frontend) from the project root.
  2. Copy the .env.example file to .env and fill in the required environment variables.

Installation

Run the following commands to install dependencies and start the application:

npm install
npm run dev

The application will be available at http://localhost:5173/ by default.

Usage

  1. Backend Setup:

    • Ensure you have Go installed (version 1.17 or higher).

    • Navigate to the backend directory (/backend) from the project root.

    • Copy the .env.example file to .env and fill in the required environment variables.

    • Run the following commands to install dependencies and start the backend server:

      go mod tidy
      go run main.go
    • The backend will be available at http://localhost:33003 by default.

  2. Frontend Setup:

    • Navigate to the frontend directory (/frontend) from the project root.

    • Copy the .env.example file to .env and fill in the required environment variables.

    • Run the following commands to install dependencies and start the frontend application:

      npm install
      npm run dev
    • The frontend will be available at http://localhost:5173 by default.

  3. Application Workflow:

    • Access the frontend via a web browser.
    • Upload files using the user interface.
    • View the list of uploaded files and perform actions such as downloading or viewing their file content.
  4. Contributing:

    • Feel free to contribute to the project by opening issues or submitting pull requests. All help is welcome!
  5. License:

massive-s3-uploader's People

Contributors

ignaciochemes avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.