Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# E-Doso - Sistema de Gerenciamento para Lares de Idosos    ## 📖 Sobre o Projeto **E-doso** é uma solução completa (Full Stack) projetada para otimizar a gestão de cuidados em lares e casas de repouso para idosos. O sistema é composto por um aplicativo móvel para cuidadores e um backend robusto para gerenciar todas as informações de forma segura e centralizada. O objetivo principal é facilitar o controle de medicamentos, horários, prescrições e dados vitais dos idosos, garantindo que os cuidadores tenham acesso rápido e preciso às informações necessárias para oferecer o melhor cuidado possível. O desenvolvimento do aplicativo compõe o trabalho final da disciplina SSC0961 - Desenvolvimento Web E Mobile da Universidade de São Paulo - Instituto de Ciências Matemáticas e de Computação - 1º semestre de 2024. Professora Dra. Lina María Garcés Rodríguez. --- ## ✨ Funcionalidades Principais O projeto é dividido em duas partes principais: um **Frontend** (aplicativo móvel) e um **Backend** (API REST). ### Frontend (React Native com Expo) - **Autenticação de Usuários:** Telas de Login e Cadastro seguras. - **Gerenciamento de Lares (Grupos):** - Permite que um usuário crie um novo "Lar" (grupo de cuidadores). - Permite que outros usuários entrem em um lar existente através de um código de acesso único. - O administrador do lar pode gerenciar membros (adicionar/remover). - **Cadastro e Gestão de Idosos:** - Formulário completo para registrar informações pessoais, documentos e condições de saúde de cada idoso. - Visualização detalhada do perfil de cada idoso. - **Controle de Estoque de Medicamentos:** - Cadastro de novos medicamentos com detalhes como nome, princípio ativo, concentração e quantidade. - Listagem e busca de medicamentos em estoque. - **Gerenciamento de Prescrições:** - Associação de medicamentos a idosos, com definição de horários, dosagens e frequência. - **Agenda de Horários:** - Exibição diária dos medicamentos a serem administrados, organizada por horário. - **Log de Administração:** - Registro de cada dose administrada, recusada ou pulada, incluindo quem foi o responsável e observações. ### Backend (Django REST Framework) - **API RESTful:** Endpoints seguros para todas as operações do frontend. - **Autenticação por Token:** Garante que apenas usuários autenticados acessem os dados. - **Modelagem de Dados Completa:** - `Usuario`: Modelo de usuário customizado. - `Grupo`: Representa um lar, com admin e membros. - `Idoso`, `Medicamento`, `Prescricao` e `LogAdministracao`: Modelos centrais do negócio. - **Permissões Granulares:** Sistema de permissão que diferencia administradores de membros comuns do grupo. - **URLs Aninhadas (Nested Routers):** Estrutura de rotas lógicas, como `/api/grupos/{id_grupo}/idosos/`. --- ## 🛠️ Tecnologias Utilizadas #### Backend - **Python** - **Django** & **Django REST Framework** - **dj-rest-auth** para autenticação - **dj-database-url** para configuração de banco de dados - **WhiteNoise** para servir arquivos estáticos #### Frontend - **JavaScript (React Native)** - **Expo** (SDK) - **React Navigation** para navegação entre telas - **Axios** para requisições HTTP - **AsyncStorage** para armazenamento local no dispositivo --- ## 🚀 Como Executar o Projeto Para executar este projeto, você precisará configurar e iniciar o Backend (servidor Django) e o Frontend (aplicativo Expo) separadamente. ### Pré-requisitos - **Node.js** (versão LTS recomendada) - **Python 3.x** - **Gerenciador de pacotes NPM** ou **Yarn** - **Expo Go** no seu celular (para testes mobile) ### 1. Clone o Repositório ```bash git clone https://github.com/ThValverde/dev_wm_project.git cd dev_wm_project ``` ### 2. Configurando o Backend (Django) Navegue até a pasta do backend e configure o ambiente virtual. ```bash # Navegue para a pasta do backend cd backend/django # Crie e ative um ambiente virtual python3 -m venv venv source venv/bin/activate # No Windows, use `venv\Scripts\activate` # Instale as dependências pip install -r requirements.txt # Aplique as migrações do banco de dados python3 manage.py migrate # Inicie o servidor Django python3 manage.py runserver 0.0.0.0:8000 ``` O backend estará rodando em `http://<seu-ip-local>:8000`. ### 3. Configurando o Frontend (Expo) Abra um **novo terminal**, navegue até a pasta do frontend e instale as dependências. ```bash # Navegue para a pasta do frontend (a partir da raiz do projeto) cd frontend/MyApp # Instale as dependências npm install # Inicie o servidor de desenvolvimento do Expo npx expo start ``` Isso abrirá o Metro Bundler no seu navegador. Você pode usar o aplicativo **Expo Go** no seu celular para escanear o QR Code e executar o aplicativo. **Importante:** O aplicativo frontend precisa saber o endereço do backend. Para conectar ao seu servidor local, você precisará alterar a URL da API no código-fonte do frontend para o IP da sua máquina onde o backend está rodando (ex: `http://192.168.1.10:8000`). Uma versão online do backend está disponível em `https://e-doso-backend.onrender.com` e pode ser usada para testes. Para simplificar o processo, é possível clonar diretamente https://github.com/ThValverde/dev_wm_project/local.git