Sistema completo de processamento assíncrono de arquivos, com backend em Ruby on Rails e frontend em Svelte.
Este projeto demonstra uma arquitetura moderna baseada em filas de background, upload de arquivos e comunicação entre serviços, utilizando boas práticas de desenvolvimento tanto no frontend quanto no backend.
async_file_processing_api # API RESTful em Ruby on Rails
async_file_processing_frontend # Interface Web em Svelte
- Ruby 3.2+
- Rails 7+
- SQLite (ou PostgreSQL, opcional)
- Redis (para processamento assíncrono com Sidekiq, se usado)
cd async_file_processing_api
bundle install
rails db:setup
docker-compose up -d # Setup do redis
rails s # Roda o servidor rails
bundle exec sidekiq # Roda o sidekiq configurado para os jobs assíncronosA API estará disponível em http://localhost:3000
- Node.js 20+
- npm ou pnpm
🚀 Instalação
cd async_file_processing_frontend
npm install
npm run devA aplicação estará disponível em http://localhost:5173
- O usuário faz upload de um arquivo pelo frontend.
- O arquivo é enviado para a API Rails.
- A API agenda o processamento do arquivo de forma assíncrona (via Sidekiq).
- O resultado é armazenado no banco e disponibilizado para consulta.
- O frontend exibe o progresso e os resultados em tempo real.
- Ruby on Rails 7
- Sidekiq
- Redis
- SQLite
- SvelteKit
- TailwindCSS
- Typescript
- Fetch API