Skip to content

Commit

Permalink
Merge branch 'development'
Browse files Browse the repository at this point in the history
  • Loading branch information
gbladislau committed Jul 14, 2023
2 parents d31bc7f + 3f4eb96 commit c0a15c5
Show file tree
Hide file tree
Showing 86 changed files with 9,633 additions and 13,213 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/django.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Django CI
env:
SECRET_KEY: 'sadsg5hahahahahah'
on:
push:
branches: [ "main", "development"]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: ['3.10', '3.11']


steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: |
cd ./back_readmore/
python -m pip install --upgrade pip
pip install pipenv
- name: Test Server
run: |
cd ./back_readmore/
pipenv install
pipenv run python manage.py test
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@ celerybeat.pid
*.sage.py

# Environments
.env
.venv
env/
venv/
Expand All @@ -127,3 +126,4 @@ dmypy.json

# Pyre type checker
.pyre/
.vscode/*
4 changes: 2 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"[python]": {
"editor.defaultFormatter": "ms-python.python"
"editor.defaultFormatter": "ms-python.autopep8"
},
"python.formatting.provider": "none"
"python.formatting.provider": "none",
}
14 changes: 0 additions & 14 deletions Pipfile

This file was deleted.

513 changes: 0 additions & 513 deletions Pipfile.lock

This file was deleted.

158 changes: 156 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,156 @@
# ProjetoIntegrado-1
Repositório para desenvolvimento do projeto da disciplina de Projeto Integrado
# 📚ReadMore

![1689337905118](image/README/1689337905118.png)

## 📝Descrição

O aplicativo ReadMore incentiva a leitura e a criação do hábito de leitura por meio da organização de seus livros. Com recursos de ntrole de progresso, o aplicativo funciona como um marcador de páginas digital. Além disso, você pode adicionar livros já lidos, em leitura e livros que deseja ler à sua estante digital. Utilize a função de marcador de página para ter controle do progresso de cada livro.

## 🔨 Ferramentas Utilizadas

Essas são algumas das linguagens, ferramentas, frameworks e bibliotecas que utilizamos no desenvolvimento dessa aplicação:

* Django (python)
* Django Rest Framework with JWT authentication
* React Native
* Expo
* Pipenv
* Node js
* Docker (python e node images)
* Figma ([protótipo](https://www.figma.com/file/JGgpaNX9gTQCJINLfPrxoR/ReadMore?type=design&node-id=352%3A138&mode=design&t=3PswqImuN1bMPGQe-1))
* Open Library [Web API](https://openlibrary.org/developers/api)

## 📱 Uso Geral

Como builds para IOS não são nossa prioridade, é possivel ver nas [Releases ](https://github.com/gbladislau/ProjetoIntegrado-1/releases)o APK do ReadMore para Android, com ele é possível utilizar o aplicativo com o banco de dados hospedado em: [https://readmore.onrender.com](https://readmore.onrender.com)

Na Tela inicial vemos duas opções, caso já tenha cadastro pode seguir para tela de Login.

Caso faça um cadastro é necessário um nome de usuario, email e senha.

### ⚠ DISCLAIMER

* Não use senhas que já utiliza normalmente, pois nosso aplicativo não possui verificação de email e SSL para segurança de comunicação.
* Não perca nem compartilhe seu nome de usuário e email, ele é usado para criar uma nova senha.

Após o cadastro/login a tela principal sera mostrada com seus livros salvos caso tenha.

Para adicionar novos livros navegue (clicando nas 3 barras horizontais na lateral esquerda) e clique em explorar, onde voce pode buscar novos livros.

Resultados para as pesquisas serão sempre em inglês por conta da API Open Library utilizada.

## 🔧 Requisitos do Sistema Para Dev Server

Para conseguir usar o development server do ReadMore é somente necessário o Docker Compose e Node. Sendo possível rodar ele em qualquer sistema operacional com estes dois programas.

Versões:

* Node v18.16
* Docker v23.0
* Python v3.10 (opcional)

## 💽Rodando o dev server

Primeiro faça o git clone do repositório e entre nele:

```bash
git clone [email protected]:gbladislau/ProjetoIntegrado-1.git
cd ./ProjetoIntegrado-1
```

Depois você pode optar tanto por baixar as dependencias na mão ou rodar os containers docker (recomendado).

###### 🛑 Antes de Rodar mude em ./back_readmore/backend/settings.py:

```python
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = os.environ["SECRET_KEY"]

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = FalseDEBUG = False
```

para

```python
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = "<qualquercoisa>"

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = FalseDEBUG = FalseDEBUG = True
```

---

### Docker Linux (bash)

Para começar os servidores rode na raiz do repositório:

```bash
bash run.sh
```

Os dois servidores de desenvolvimento (tanto o back quanto front) devem rodar apartir desse comando. Cerca de 3 Gb de imagens do Docker (python e nodejs) serão baixadas.

---

### Docker Windows (Power Shell)

Para rodar o dev server no Windows rode o seguinte comando na raiz do reposítório:

```powershell
cd ./front-readmore
node updateEnv.js
cd ..
docker compose -f "docker-compose.yaml" up --build
```

---

### Sem Docker

Instale as dependencias:

```bash
cd ./front-readmore
npm install
```

```bash
cd ../back_readmore
pip install pipenv
pipenv install
```

Abra dois terminais e rode os servidores separadamente:

```bash
cd ../back_readmore
pipenv run python3 manage.py runserver
```

Para o front é necessário rodar também o script envUpdate.js:

```bash
cd ./front-readmore
node updateEnv.js
npx expo start
```

---

### Último Passo

Após os servidores estarem rodando é necessário abrir o [Expo Go](https://expo.dev/client) no celular Android ou IOS, colocando o Ip do seu computador na barra de URL para abrir o aplicativo.

## 🔐 Licença

Este projeto é licenciado sob a Licença [GPL-3.0 license](https://github.com/gbladislau/ProjetoIntegrado-1/blob/main/LICENSE).

## 🌟Créditos

Repositório para desenvolvimento do projeto da disciplina de Projeto Integrado 1 - [UFES](ufes.br).
Desenvolvido por [Gabriel Braga Ladislau](https://github.com/gbladislau) e [Marcus Louriçal](https://github.com/MarcusLNF).
17 changes: 17 additions & 0 deletions back_readmore/Pipfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
django = "*"
djangorestframework = "*"
djangorestframework-simplejwt = "*"
django-cors-headers = "*"
djoser = "*"
django-health-check = "*"

[dev-packages]

[requires]
python_version = "3"
Loading

0 comments on commit c0a15c5

Please sign in to comment.