https://github.com/heliolj/cloud-file-storage-system
Cloud File Storage System using Python, Flask, React and AWS like DynamoDB, S3, Lambda Functions
https://github.com/heliolj/cloud-file-storage-system
aws dynamodb flask lambda-functions python react s3 s3-bucket
Last synced: 2 months ago
JSON representation
Cloud File Storage System using Python, Flask, React and AWS like DynamoDB, S3, Lambda Functions
- Host: GitHub
- URL: https://github.com/heliolj/cloud-file-storage-system
- Owner: helioLJ
- Created: 2023-12-05T22:43:33.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-07T13:44:03.000Z (over 2 years ago)
- Last Synced: 2025-01-25T16:44:21.361Z (over 1 year ago)
- Topics: aws, dynamodb, flask, lambda-functions, python, react, s3, s3-bucket
- Language: Python
- Homepage:
- Size: 21.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cloud Storage System
Este projeto é um sistema simples de armazenamento de arquivos na nuvem, desenvolvido utilizando Python no back-end com o framework Flask, React.js no front-end, e serviços da AWS (simulados localmente com o LocalStack) para armazenamento de arquivos (Amazon S3), armazenamento de metadados (Amazon DynamoDB), e processamento assíncrono (Amazon Lambda, opcional).

# Tecnologias Utilizadas
## Back-end:
- Linguagem: Python
- Framework: Flask
- AWS Services (LocalStack):
- Amazon S3 (para armazenamento de arquivos)
- Amazon DynamoDB (para armazenar metadados dos arquivos)
- Amazon Lambda (para processamento assíncrono)
## Front-end:
- React.js
- Vite
## Funcionalidades do Sistema
- Upload de Arquivos: Permitir que os usuários realizem o upload de arquivos para a plataforma.
- Listagem de Arquivos:
Exibir a lista de arquivos armazenados na nuvem.
- Download de Arquivos:
Possibilitar o download de arquivos armazenados.
- Exclusão de Arquivos:
Permitir que os usuários excluam arquivos.
## Função dos Serviços AWS:
### Amazon S3 (Simple Storage Service):
Serviço de armazenamento de objetos na nuvem.
Usado para armazenar os arquivos enviados pelos usuários.
No código, é simulado localmente usando o LocalStack.
### Amazon DynamoDB:
Serviço de banco de dados NoSQL totalmente gerenciado.
Usado para armazenar metadados dos arquivos (como nomes de arquivos) associados aos objetos no S3.
No código, é simulado localmente usando o LocalStack.
### Amazon Lambda:
Serviço de computação serverless que permite a execução de código em resposta a eventos.
No código, é invocado para realizar uma ação (a função 'print-lambda') após o upload de um arquivo.
Pode ser usado para processamento assíncrono ou outras ações desacopladas do fluxo principal da aplicação.