Este repositório contém o código-fonte do Catholicam, uma plataforma de blog responsiva e moderna construída com React e Firebase, focada em conteúdo católico.
O Catholicam é um blog completo que permite a usuários criar, ler, editar e deletar suas próprias postagens. O projeto foi totalmente refatorado de um tema "dark" para um design "clean" e profissional (estilo Apple), com foco em tipografia e legibilidade.
A aplicação é integrada ao Firebase, utilizando Authentication para gerenciamento de usuários e Firestore para o banco de dados de postagens.
- Autenticação de Usuários: Sistema completo de Login e Registro usando Firebase Auth.
- Operações CRUD: Usuários autenticados podem Criar, Ler, Atualizar e Deletar (CRUD) suas próprias postagens.
- Segurança (Regras do Firebase): Implementação de regras de segurança no Firestore que garantem que usuários só possam editar ou excluir os posts que eles mesmos criaram.
- Design Responsivo: Interface moderna (estilo Apple) que se adapta perfeitamente a desktops e dispositivos móveis.
- Rotas Protegidas: O "Dashboard" e as páginas de "Criar/Editar Post" são acessíveis apenas para usuários logados.
- Busca Dinâmica: Funcionalidade de busca para filtrar posts por tags.
- Gerenciamento de Chaves: As chaves do Firebase são protegidas usando variáveis de ambiente (
.env) e cadastradas de forma segura na Vercel.
- Front-End:
- React (v18)
- React Router (v6)
- React Hooks (useState, useEffect, useContext)
- CSS Modules
- Back-End (BaaS):
- Firebase v9 (Authentication)
- Firebase v9 (Firestore Database)
- Deploy:
- Vercel
Para rodar este projeto em sua máquina, siga os passos abaixo:
-
Clone o repositório:
git clone [https://github.com/ElderFausto/Catholicam.git](https://github.com/ElderFausto/Catholicam.git) cd Catholicam -
Instale as dependências:
npm install
-
Crie as Variáveis de Ambiente:
- Crie um arquivo chamado
.envna raiz do projeto. - Copie o conteúdo do arquivo
.env.example(se existir) ou use o modelo abaixo e preencha com suas próprias chaves do Firebase.
REACT_APP_API_KEY="SUA_API_KEY" REACT_APP_AUTH_DOMAIN="SEU_AUTH_DOMAIN" REACT_APP_PROJECT_ID="SEU_PROJECT_ID" REACT_APP_STORAGE_BUCKET="SEU_STORAGE_BUCKET" REACT_APP_MESSAGING_SENDER_ID="SEU_SENDER_ID" REACT_APP_APP_ID="SEU_APP_ID"
- Crie um arquivo chamado
-
Inicie o servidor de desenvolvimento:
npm start
O aplicativo estará disponível em
http://localhost:3000.
Se você tiver qualquer dúvida ou sugestão, sinta-se à vontade para entrar em contato:
- Email: elderfavsto@gmail.com
- GitHub: @ElderFausto
Este projeto está sob a licença MIT.
