Este Ć© um projeto React Native criado com @react-native-community/cli
, que simula uma rede social de posts para desenvolvedores. O app permite criar, curtir, buscar e atualizar posts, alƩm de gerenciar perfis de usuƔrio com foto e nome.
- Tecnologias Utilizadas
- Funcionalidades
- Configuração do Ambiente
- Como Rodar o Projeto
- Estrutura do Projeto
- Dicas e Troubleshooting
- Saiba Mais
- React Native: Framework principal para desenvolvimento mobile multiplataforma.
- React Native CLI: Ferramenta oficial para inicialização e gerenciamento do projeto.
- Firebase:
- Authentication: Gerenciamento de login/cadastro de usuƔrios.
- Firestore: Banco de dados NoSQL em tempo real para armazenar posts, usuƔrios e likes.
- Cloudinary: ServiƧo de armazenamento e CDN para upload e gerenciamento de imagens de perfil dos usuƔrios.
- AsyncStorage: Armazenamento local para persistência de dados do usuÔrio autenticado.
- React Navigation: Navegação entre telas (Stack e Tab Navigators).
- Styled Components: Estilização dos componentes React Native.
- react-native-image-picker: Seleção de imagens da galeria do dispositivo.
- date-fns: Manipulação e formatação de datas.
- Autenticação de UsuÔrio (login/cadastro)
- Criação de Posts com texto e avatar do usuÔrio
- Listagem de Posts com paginação e atualização em tempo real
- Curtir/Descurtir Posts
- Busca de UsuƔrios
- Perfil do UsuÔrio: atualização de nome e foto de perfil (upload para Cloudinary)
- Persistência de Sessão com AsyncStorage
- Atualização automÔtica do nome/avatar em todos os posts do usuÔrio
Antes de começar, siga o guia oficial de Configuração do Ambiente React Native para instalar Node.js, JDK, Android Studio, Xcode (Mac), etc.
Dependências externas necessÔrias:
- Conta no Firebase
- Conta no Cloudinary
npm install
# ou
yarn install
- Crie um projeto no Firebase.
- Ative Authentication (Email/Senha) e Firestore Database.
- Baixe o arquivo
google-services.json
(Android) - Atualize as configuraƧƵes do Firebase no projeto conforme necessƔrio.
- Crie uma conta no Cloudinary.
- Crie um upload preset (unsigned) chamado
profile_devpost
. - Atualize a URL de upload no código se necessÔrio.
npm start
# ou
yarn start
npm run android
# ou
yarn android
src/
components/ # Componentes reutilizƔveis (PostList, SearchList, Header, etc)
contexts/ # Contextos globais (ex: AuthContext)
pages/ # Telas principais (Home, Login, Profile, NewPost, Search, PostsUser)
assets/ # Imagens e recursos estƔticos
routes/ # Configuração de navegação
...
- App.js: Ponto de entrada do app, configura navegação e contexto de autenticação.
- src/contexts/auth.js: Lógica de autenticação, persistência e contexto global do usuÔrio.
- src/pages/: Telas do app, cada uma com sua lógica e estilização.
- src/components/: Componentes visuais reutilizƔveis.
- Para recarregar o app:
- Android: Pressione R duas vezes ou Ctrl+M e selecione "Reload".
- iOS: Pressione R no simulador.
- Se tiver problemas, consulte a documentação oficial de troubleshooting.
- React Native Website
- Firebase Documentation
- Cloudinary Documentation
- React Navigation
- Styled Components
- date-fns
Projeto desenvolvido para fins de estudo.