Skip to content

fga-eps-mds/2025.2-Inti

Repository files navigation

MUSA

Version License HTML5 CSS3 JavaScript Capacitor Spring Boot PostgreSQL

Repositório principal do aplicativo MUSA desenvolvido pelo grupo Inti da turma 2025.2 da disciplina de Métodos de Desenvolvimento de Software (MDS) da Faculdade de Ciências e Tecnologia em Engenharias da Universidade de Brasília (FCTE - UnB).


https://github.com/fga-eps-mds/MUSA-APP-docs

Sobre o Projeto

O MUSA é uma aplicação web moderna desenvolvida com HTML5, CSS3 e JavaScript puro, seguindo o padrão SPA (Single Page Application). A arquitetura foi projetada para ser web-centric, garantindo um single-source-of-truth (fonte única de verdade) para o código.

Distribuição Mobile

A aplicação pode ser distribuída para plataformas móveis (iOS e Android) através do Capacitor, que atua como um wrapper nativo instanciando uma WebView que carrega o site web principal a partir de sua URL hospedada.


Arquitetura

O projeto MUSA segue uma arquitetura moderna de três camadas:

Arquitetura MUSA

Componentes do Sistema

1. Frontend (Cliente Web)

  • Aplicação SPA em HTML/CSS/JavaScript puro
  • Hospedagem em servidor estático
  • Roteamento client-side
  • Comunicação com backend via REST API

2. Mobile (Capacitor)

  • Wrapper nativo para iOS e Android
  • WebView integrada
  • Acesso a recursos nativos (notificações, câmera, etc.)
  • Carregamento do frontend via URL remota

3. Backend (API REST)

  • Implementado em Java Spring Boot
  • Autenticação e autorização
  • Lógica de negócio
  • Persistência em PostgreSQL

Fluxo de Dados

Usuário → App Nativo (Capacitor) → WebView →
  ├─→ Frontend (HTML/JS/CSS)
  └─→ Backend API (Spring Boot) → PostgreSQL

📂 Estrutura de Diretórios

musa/
│
├── .vscode/                    # Configurações do VS Code
│   └── settings.json           # Configurações do workspace
│
├── css/                        # Folhas de estilo
│   └── style.css               # Estilos globais da aplicação
│
├── js/                         # Scripts JavaScript
│   ├── app.js                  # Orquestrador principal da aplicação
│   ├── auth.js                 # Módulo de autenticação e gestão de sessão
│   └── router.js               # Sistema de roteamento SPA
│
├── pages/                      # Views/Templates HTML
│   ├── login.html              # Página de autenticação
│   ├── cadastro.html           # Página de registro de usuário
│   ├── home.html               # Página inicial (dashboard)
│   ├── eventos.html            # Listagem de eventos
│   ├── create.html             # Criação de novos eventos
│   ├── search.html             # Busca e filtros
│   └── user.html               # Perfil do usuário
│
├── assets/                     # Recursos estáticos
│   └── ArquiteturaDOCS.png     # Diagrama de arquitetura
│
├── node_modules/               # Dependências do projeto (gerenciadas pelo npm)
│
├── .prettierignore             # Arquivos ignorados pelo Prettier
├── .prettierrc                 # Configurações do Prettier
├── index.html                  # Ponto de entrada da aplicação (SPA)
├── package.json                # Dependências e scripts npm
├── package-lock.json           # Lock de versões das dependências
└── README.md                   # Documentação do projeto

Pré-requisitos

  • Git - Controle de versão
  • Node.js (v18 ou superior) - Runtime JavaScript
  • npm - Gerenciador de pacotes (incluído com Node.js)

Recomendados

🚀 Como Rodar o Projeto

1️⃣ Clone o Repositório

git clone https://github.com/fga-eps-mds/2025.2-Inti.git
cd 2025.2-Inti

2️⃣ Instale as Dependências

npm install

3️⃣ Execute o Projeto

🐧 Linux / macOS e 💻 Windows

  • Instale a extensão Live Server no VS Code
  • Clique com botão direito em index.html
  • Selecione "Open with Live Server"

Teste de Responsividade Mobile

Para testar a aplicação em diferentes tamanhos de tela:

  1. Abra as DevTools do navegador (F12)
  2. Ative o modo de visualização mobile (Ctrl+Shift+M)
  3. Teste em diferentes resoluções

Extensão Recomendada: Mobile Simulator para Chrome


Padrões de Desenvolvimento

SEMPRE execute o comando abaixo antes de fazer commit:

npx prettier --write .
  • Formate o código antes de cada commit
  • Teste suas alterações antes de commitar
# Fluxo correto de commit
npx prettier --write .
git add .
git commit -m "[FEAT]: adiciona página de eventos"
git push

Tecnologias Utilizadas

Frontend

  • HTML5 - Estrutura semântica
  • CSS3 - Estilização e responsividade
  • JavaScript (ES6+) - Lógica da aplicação

Ferramentas de Desenvolvimento

  • Node.js - Runtime JavaScript
  • npm - Gerenciamento de pacotes
  • Prettier - Formatação de código
  • Live Server - Servidor de desenvolvimento

Mobile

  • Capacitor - Wrapper nativo para iOS/Android

Backend (Separado)

  • Java 17+
  • Spring Boot - Framework backend
  • PostgreSQL - Banco de dados relacional
  • JWT - Autenticação e autorização

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8