Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nativenews2024-2/nativenewsapp
O NativeNews é uma aplicação em ReactNative e Express, escrito majoritariamente em Typescript. O app apresenta noticias e permite que o usuário salve suas preferências em relação as noticias que recebe e também salvar as suas noticias favoritas.
https://github.com/nativenews2024-2/nativenewsapp
axios expo express javascript mysql native rest-api typescript
Last synced: 10 days ago
JSON representation
O NativeNews é uma aplicação em ReactNative e Express, escrito majoritariamente em Typescript. O app apresenta noticias e permite que o usuário salve suas preferências em relação as noticias que recebe e também salvar as suas noticias favoritas.
- Host: GitHub
- URL: https://github.com/nativenews2024-2/nativenewsapp
- Owner: NativeNews2024-2
- License: cc0-1.0
- Created: 2024-12-06T19:13:42.000Z (16 days ago)
- Default Branch: main
- Last Pushed: 2024-12-08T13:34:44.000Z (14 days ago)
- Last Synced: 2024-12-08T14:27:07.475Z (14 days ago)
- Topics: axios, expo, express, javascript, mysql, native, rest-api, typescript
- Language: JavaScript
- Homepage:
- Size: 1.71 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# News App - Aplicativo de Notícias Personalizado
## 📋 Descrição do Projeto
Este é um aplicativo fullstack de notícias que permite aos usuários personalizar suas preferências de conteúdo, visualizar notícias e salvar artigos favoritos. Desenvolvido com tecnologias modernas para proporcionar uma experiência de usuário fluida e responsiva.
## 📸 Imagens
1. Login
![Tela de Login](nativenewsdocs/images/login.jpg)
2. Cadastro
![tela de Cadastro](nativenewsdocs/images/criar-conta.jpg)
3. Home
![Homepage](nativenewsdocs/images/noticias.jpg)
4. Favoritos
![Noticias Favoritas](nativenewsdocs/images/noticias-favoritas.jpg)
5. Categorias diferentes
![Categorias de Noticias](nativenewsdocs/images/categorias.jpg)
## 🚀 Tecnologias Utilizadas
### Frontend
- React Native
- Expo
- React Navigation
- AsyncStorage### Backend
- Node.js
- Express
- TypeScript
- MySQL## 📦 Estrutura do Projeto
```
server/ # Servidor Express e lógica de negócio
│ ├── src/ # Código fonte TypeScript
│ ├── dist/ # Código compilado JavaScript
│ └── ...
client/ # Aplicativo React Native
│ ├── screens/ # Telas do aplicativo
│ ├── src/ # Componentes e navegação
│ └── ...
```## 🔧 Pré-requisitos
- Node.js (v16 ou superior)
- npm ou yarn
- Docker (opcional, para implantação)
- Expo CLI
- MySQL## 🛠️ Instalação
### Clonar o Repositório
```bash
git clone https://github.com/NativeNews2024-2/NativeNewsApp.git
cd news-app
```### Configurar Backend
```bash
cd server
npm install
```### Configurar Frontend
```bash
cd client
npm install
```## 🔐 Configuração de Ambiente
1. Crie um arquivo `.env` no diretório `back-end` com as seguintes variáveis:
```
DB_HOST=localhost
DB_USER=seu_usuario
DB_PASS=sua_senha
DB_NAME=news_app
JWT_SECRET=sua_chave_secreta
```2. O seu banco de dados precisa conter as tabelas corretas e deve estar com o nome que você citou no .env:
```
-- Criar o banco de dados
CREATE DATABASE NativeNews_db;-- Usar o banco de dados criado
USE NativeNews_db;-- Criar tabela de usuários
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);-- Criar tabela de favoritos
CREATE TABLE favorites (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
title VARCHAR(255) NOT NULL,
description TEXT,
imageUrl VARCHAR(255),
newsUrl VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
```## 🏃 Rodando a Aplicação
1. No client você só precisa usar esse comando:
```
expo start
```2. No backend, verifique se seu banco de dados já está configurado da forma correta e rode esse comando:
```
npm run dev
```## ✨ Funcionalidades
- Registro e autenticação de usuários
- Listagem de notícias
- Personalização de preferências
- Salvar notícias favoritas
- Visualização de detalhes da notícia## 🤝 Contribuição
- Siga as instruções aqui nessa página: [CONTRIBUTING](CONTRIBUTING.md)
- Verifique o guia prático de como utilizar o Git aqui: [Guia de GIT](nativenewsdocs/GuiadeBoasPraticasGit.pdf)## 📄 Licença
Este projeto está licenciado sob a Licença CC 1.0 Universal - veja o arquivo [LICENSE.md] para detalhes.
## 🛠️ Problemas Comuns
- Certifique-se de que todas as dependências estão instaladas
- Verifique as configurações do banco de dados
- Consulte a documentação do Expo para problemas de compatibilidade## Autores do projeto
- José Roberto
- Francisco Macedo
- Diego Humberto
- João Gabriel ferreira## 📞 Contato
Francisco Macedo - [email protected]
Link do projeto: [https://github.com/NativeNews2024-2/NativeNewsApp]
NativeNews by Francisco Macedo is marked with CC0 1.0
```
## TODO list
Para acessar a lista de tarefas a fazer: [Lista de Tarefas](TODO.md)