{"id":20757351,"url":"https://github.com/carla-coder/travel_diary","last_synced_at":"2025-03-11T16:20:34.511Z","repository":{"id":260642136,"uuid":"881929642","full_name":"Carla-coder/Travel_diary","owner":"Carla-coder","description":"PROVA Somativa - Mobile Nota 95 de 100","archived":false,"fork":false,"pushed_at":"2024-11-04T22:23:34.000Z","size":1502,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T04:43:38.555Z","etag":null,"topics":["expo","firebase","reactnavigation","yarn"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Carla-coder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-01T14:13:59.000Z","updated_at":"2024-11-18T10:09:37.000Z","dependencies_parsed_at":"2025-01-18T04:54:15.900Z","dependency_job_id":null,"html_url":"https://github.com/Carla-coder/Travel_diary","commit_stats":null,"previous_names":["carla-coder/travel_diary"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carla-coder%2FTravel_diary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carla-coder%2FTravel_diary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carla-coder%2FTravel_diary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carla-coder%2FTravel_diary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Carla-coder","download_url":"https://codeload.github.com/Carla-coder/Travel_diary/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243067024,"owners_count":20230854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expo","firebase","reactnavigation","yarn"],"created_at":"2024-11-17T09:41:46.631Z","updated_at":"2025-03-11T16:20:34.470Z","avatar_url":"https://github.com/Carla-coder.png","language":"JavaScript","readme":"\n# Travel Diary\n\nO Travel Diary é um aplicativo de diário de viagens desenvolvido com React Native e integrado ao Firebase. Ele permite que os usuários criem entradas para documentar suas experiências de viagem, incluindo título, descrição, localização, data e imagem. O aplicativo utiliza autenticação de e-mail e senha com Firebase, e todas as entradas são armazenadas no Firestore, enquanto as imagens são armazenadas no Firebase Storage.\n\n\n## Funcionalidades\n\n- Autenticação de Usuários: Login e registro de usuários com e-mail e senha.\n- Criar Entradas de Viagem: Criação de entradas de diário com título, descrição, localização, data e imagem.\n- Visualizar Entradas: Listagem de todas as entradas de viagem criadas.\n- Upload de Imagens: Upload de imagens das viagens para o Firebase Storage.\n- Armazenamento no Firebase Firestore: Armazenamento de todas as informações das entradas de diário no Firestore.\n\n## Estrutura do Projeto\n\n```bash\n\nTravelDiary/\n├── assets/                         # Arquivos de mídia (imagens, logo, etc.)\n├── screens/                        # Telas do aplicativo\n│   ├── LoginScreen.js              # Tela de login\n│   ├── RegisterScreen.js           # Tela de registro\n│   ├── HomeScreen.js               # Tela inicial (home)\n│   ├── CreateEntryScreen.js        # Tela de criação de entradas\n│   ├── EditEntryScreen.js          # Tela de edição de entradas\n│   └── ViewEntryScreen.js          # Tela de visualização das entradas\n├── firebaseConfig.js               # Configuração do Firebase\n└── App.js  \n\n```\n## Pré-requisitos\n\n- Node.js (\u003e= 12.0)\n- Expo CLI (para desenvolvimento e testes com Expo Go)\n- Conta no Firebase com projeto configurado para Firestore, Authentication e Storage\n\n## Telas do aplicativo\n\n### **Telas do Aplicativo**\n\n- **LoginScreen**\n\nTela de autenticação onde os usuários podem inserir seu e-mail e senha para fazer login ou navegar para a tela de cadastro.\n\n- **RegisterScreen**\n\nTela para criar uma nova conta de usuário usando o e-mail e a senha.\n\n- **HomeScreen**\n\nTela inicial de boas-vindas, onde o usuário pode navegar para a criação de uma nova entrada ou visualização das entradas existentes.\n\n- **CreateEntryScreen**\n\nTela para criar uma nova entrada de diário de viagem. O usuário pode preencher o título, descrição, localização, data e adicionar uma imagem para documentar sua viagem.\n\n- **EditEntryScreen**\n\nTela para editar uma entrada de diário existente. O usuário pode atualizar os detalhes da entrada, como título, descrição, localização, data e imagem.\n\n- **ViewEntryScreen**\n\nTela que exibe todas as entradas de viagem do usuário em uma lista, incluindo detalhes como título, descrição, localização, data e imagem.\n\n## Principais Componentes e Funcionalidades\n\n### Autenticação\n\n- Login de Usuário com signInWithEmailAndPassword (Firebase Auth).\n- Registro de Usuário com createUserWithEmailAndPassword.\n\n### Criação de Entradas\n\n- Formulário de Entrada: Coleta título, descrição, localização e data da viagem.\n- Upload de Imagem: Usa o expo-image-picker para selecionar uma imagem e armazena no Firebase Storage.\n- Armazenamento no Firestore: Armazena as informações da entrada (com URL da imagem, se fornecida) em uma coleção chamada entries.\n\n### Visualização das Entradas\n\n- Listagem de Entradas: Usa FlatList para exibir as entradas de viagem.\n- Imagem das Entradas: Exibe a imagem da entrada caso esteja disponível.\n\n## Estilo\n\nAs telas foram estilizadas para uma experiência amigável e responsiva, com uso de StyleSheet do React Native. As cores principais do aplicativo são tons de azul (#1E90FF) e cinza, proporcionando um design limpo e atrativo.\n\n## Executando o projeto\n\n1. Clone este repositório:\n\n```bash\ngit clone https://github.com/seu-usuario/Travel_diary.git\n```\n\n2. Instale as dependências:\n\n```bash\ncd TravelDiary\nnpm install\n```\n\n3. Execute o Projeto:\n\n```bash\nnpm run web\n```\n4. Quando a tela de Login abrir, faça seu cadastro:\n\n```bash\nexemplo: seunome@email.com e senha com 6 dígitos\n```\n\n## Dependências Principais\n\n- React Native: Framework para desenvolvimento mobile.\n- Firebase: Usado para autenticação, Firestore e armazenamento de imagens.\n- Expo: Facilitador para desenvolvimento com React Native.\n- Expo Image Picker: Biblioteca para selecionar imagens da galeria.\n\n\n## Autores\n\n- [@Carla-coder](https://www.github.com/Carla-coder)\n\n## Instituição de Ensino\n\n- Escola Senai unidade Jaguariúna - Curso Técnico em Desenvolvimento de Sistemas FullStack - Terceiro Semestre (2024).\n\n- Prova Somativa 1 - Professor responsável Robson B. Souza https://github.com/robsonbsouzaa \n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarla-coder%2Ftravel_diary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarla-coder%2Ftravel_diary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarla-coder%2Ftravel_diary/lists"}