Happy é uma plataforma online dedicada a simplificar a descoberta e visita a orfanatos nas proximidades. Com a missão de espalhar alegria pelo mundo, nosso projeto encoraja indivíduos a fazerem visitas a essas instituições e compartilharem momentos especiais com as crianças.
O projeto Happy está estruturado da seguinte forma:
happy/
|-- backend/
| |-- src/
| | |-- config/
| | |-- controllers/
| | |-- database/
| | |-- errors/
| | |-- models/
| | |-- views/
| | |-- routes.ts
| | |-- server.ts
| |-- .gitignore
| |-- ormconfig.json
| |-- package.json
| |-- tsconfig.json
| |-- yarn.lock
|-- mobile/
| |-- src/
| |-- .expo-shared/
| |-- assets/
| |-- .gitignore
| |-- app.json
| |-- App.tsx
| |-- babel.config.js
| |-- package.json
| |-- tsconfig.json
| |-- yarn.lock
|-- web/
| |-- public/
| |-- src/
| | |-- components/
| | |-- images/
| | |-- pages/
| | |-- services/
| | |-- styles/
| | |-- utils/
| | |-- App.tsx
| | |-- index.tsx
| | |-- react-app-env.d.ts
| | |-- routes.tsx
| |-- .gitignore
| |-- package.json
| |-- tsconfig.json
| |-- yarn.lock
|-- README.md
- backend/: Contém o código fonte do backend da aplicação, incluindo configurações, controladores, modelos, visualizações e rotas.
- mobile/: Contém o código fonte do aplicativo móvel, desenvolvido com React Native e Expo.
- web/: Contém o código fonte do frontend web, desenvolvido com React.js.
O projeto Happy foi desenvolvido utilizando as seguintes tecnologias:
- Node.js
- Express
- SQLite
- TypeORM
- Multer
- Yup
- React.js
- TypeScript
- Leaflet
- Framer Motion
- React Native
- Expo
- Utilização de Node.js e Express para o desenvolvimento do backend;
- Uso do TypeScript para tipagem estática;
- Implementação de CRUD (Create, Read, Update, Delete) para orfanatos;
- Integração com APIs externas, como o Google Maps, MapBox e o WhatsApp;
- Gerenciamento de rotas e navegação em aplicações web e móveis;
- Utilização de banco de dados SQLite com TypeORM para persistência de dados.
- Cadastro e registro de orfanatos
- Marcação de dias para visitas
- Visualização de horários de funcionamento e dias de visitação
- Agendamento de visitas
- Contato via Whatsapp
- Visualização de direções via MapBox e Google Maps
- Navegação entre diferentes páginas e abas
- Localização de orfanatos próximos
O projeto Happy segue uma arquitetura de desenvolvimento em camadas, com a separação clara de responsabilidades entre o frontend e o backend. O backend é responsável por lidar com a lógica de negócios, enquanto o frontend é responsável pela apresentação e interação com o usuário.
- 18 de outubro de 2020: Criou páginas e fluxo de cadastro de orfanatos.
- 17 de outubro de 2020: Trabalhou com rotas, fontes customizadas e mapa.
- 16 de outubro de 2020: Conectou frontend com backend, abstraindo componentes e criando navegação entre telas.
- 15 de outubro de 2020: Configurou banco de dados, rotas, parâmetros e métodos HTTP.
- 14 de outubro de 2020: Iniciou o projeto e desenvolveu a landing page com mapa.
O projeto Happy é dividido em três partes: Backend, Frontend (Web) e Frontend (Mobile). Para executar o projeto, siga as instruções abaixo:
-
Clone este repositório:
git clone https://github.com/joaogdcarvalho/happy
-
Acesse a pasta do servidor:
cd happy/backend
-
Instale as dependências:
npm install
-
Execute o servidor em modo de desenvolvimento:
npm run dev
-
O servidor iniciará na porta 3333 - acesse http://localhost:3333
-
Acesse a pasta do frontend web:
cd ../web
-
Instale as dependências:
npm install
-
Execute a aplicação em modo de desenvolvimento:
npm run start
-
A aplicação será aberta na porta 3000 - acesse http://localhost:3000
-
Acesse a pasta do frontend mobile:
cd ../mobile
-
Instale as dependências:
npm install
-
Execute a aplicação em modo de desenvolvimento:
npm run start
-
A aplicação será aberta - siga as instruções do Expo para visualizar no dispositivo móvel.
Contribuições para este projeto são bem-vindas. Sinta-se à vontade para abrir pull requests, relatar bugs ou sugerir novos recursos.
Este projeto está licenciado sob a Licença MIT.