Skip to content

Commit

Permalink
Merge pull request #55 from JonasFortes12/docs/update-readme
Browse files Browse the repository at this point in the history
Docs/update readme
  • Loading branch information
JonasFortes12 authored Jun 12, 2024
2 parents b04dde6 + 4de256a commit 7077da9
Show file tree
Hide file tree
Showing 5 changed files with 104 additions and 41 deletions.
102 changes: 61 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,64 @@
# MEICash-server


### Preparando o ambiente de desenvolvimento:

- Clone este repositório.
```bash
git clone https://github.com/JonasFortes12/MEICash-server.git
```
- Abra o projeto usando o IntelliJ IDEA.
- Na raíz do projeto, crie um arquivo chamado `.env` e adicione as variáveis de ambiente disponíveis no arquivo `.env.example`.
```dotenv
MEICASH_POSTGRES_HOST=localhost
MEICASH_POSTGRES_PORT=5432
MEICASH_POSTGRES_DB=juazeiro_meicash
MEICASH_POSTGRES_USER=time_cinco
MEICASH_POSTGRES_PASSWORD=pass_time_cinco
# Change value to "never" for production environment
MEICASH_SQL_INIT_MODE=always
MEICASH_API_PORT=8080
MEICASH_JWT_SECRET=mandacaru-jwt-secret
# Integration test environment
MEICASH_TEST_POSTGRES_HOST=127.0.0.1
MEICASH_TEST_POSTGRES_PORT=5435
MEICASH_TEST_POSTGRES_DB=juazeiro_meicash_test
MEICASH_TEST_POSTGRES_USER=time_cinco_test
MEICASH_TEST_POSTGRES_PASSWORD=pass_time_cinco_test
```
- Acesse, na barra superior da IDE `Run -> Edit Configuration`.
Selecione `MEICashApplication` e clique no botão `Alt + E` para adicionar a configuração
de variáveis de ambiente. Adicione as variáveis de ambiente disponíveis no arquivo `.env` criado.

<img src="./tutorials-assets/setenv.png" width="70%">

- Execute o banco de dados PostgreSQL usando Docker. Use o seguinte comando na raíz do projeto:
```bash
docker-compose up -d
```
- Execute a aplicação Spring Boot. Click no botão de Play na parte superior direita da IDE.
- Você deve ser capaz de acessar o seguinte endereço: `http://localhost:8080/users`
e ver a mensagem: `Eu retorno todos os usuários!`.
## Sobre o projeto:
O MEICash é um sistema de apoio à organização financeira de Micro Empreendedores Individuais (MEIs).

O planejamento deste projeto foi realizado em três etapas principais:
1. ✅ Pesquisa de mercado para identificar as principais soluções no segmento.
2. ✅ Elaboração de épicos/iniciativas para descrever as principais demandas de potenciais clientes.
3. ✅ Consulta a microempreendedores para entender suas reais necessidades e priorizar a lista de funcionalidades identificadas.


Com este planejamento, nossa equipe percebeu que uma das funcionalidades mais úteis e prioritárias para os MEIs é a capacidade de organizar suas transações de forma simples, facilitando a busca e cálculos importantes para o negócio. Dessa forma, a implementação deste MVP oferece aos usuários a possibilidade de cadastrar e fazer login no sistema, registrar suas transações de maneira simples e criar categorias personalizadas para cada transação, facilitando a visualização e a busca por essas informações.

>[!NOTE]
>
>Esta é o repositório da API Java Spring que fornece os serviços do sistema. Esses serviços são consumidos por uma interface amigável ao usuário, facilitando a organização financeira de seu negócio. Para mais detalhes acesse o repositório do Front-end da aplicação: [Front-end](https://github.com/JonasFortes12/MEICash-front-end).

## Arquitetura da aplicação
![image](https://github.com/JonasFortes12/MEICash-server/assets/43821439/5fc2e482-277c-4de5-a3d5-8824f541cbc1)

## Fluxo de Trabalho
O ambiente de desenvolvimento foi configurado com um banco de dados PostgreSQL
instanciado usando o Docker e Docker-Compose.

Para criar uma documentação abrangente do projeto, cada nova funcionalidade a ser implementada
foi descrita no formato de BDD (Behavior Driven Development) Features em Issues do GitHub.
Para consulatar a lista de Issues concluídas, veja: [Issues](https://github.com/JonasFortes12/MEICash-server/issues?q=is%3Aissue+is%3Aclosed).
E para visualizar a implementação de cada Feature, veja a [lista de PR´s](https://github.com/JonasFortes12/MEICash-server/pulls?q=is%3Apr+is%3Aclosed).



Foi implementada uma pipeline de integração e entrega contínua (CI/CD):
- Para cada Pull Request aberto, um script no GitHub Actions faz a verificação de Build da aplicação.

<img src="./assets/gif-01.gif" style="width: 70%; margin: 30px auto 30px auto;">

- E também, o merge para branch main só é permitido após o Build e a aprovação de um revisor.

<img src="./assets/img_2.png" style="width: 70%; margin: 30px auto 30px auto;">

- Após o merge, o GitHub Actions faz o deploy da aplicação em uma máquina virtual na Azure.

<img src="./assets/img_1.png" style="width: 70%; margin: 30px auto 30px auto;">

## Uso
- Para configurar o ambiente de desenvolvimento e executar o projeto localmente, acesse o [Tutorial](./tutorial.md).

## Tecnologias Usadas
- Spring Boot
- PostgreSQL
- Json Web Token
- Swagger OpenAPI

## Contribuições
Contribuições são bem vindas!

## Equipe
| <img src="https://avatars.githubusercontent.com/u/112669877?v=4"><br><strong>Isac Andrade</strong> | <img src="https://avatars.githubusercontent.com/u/43821439?v=4"><br><strong>Jonas Fortes</strong> | <img src="https://avatars.githubusercontent.com/u/65193369?v=4"><br><strong>Luan Moraes</strong> | <img src="https://avatars.githubusercontent.com/u/107064977?v=4"><br><strong>Geovana Souza</strong> | <img src="https://avatars.githubusercontent.com/u/39842850?v=4"><br><strong>stefaneadna</strong> |
| :---------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: |
| [LinkedIn](https://www.linkedin.com/in/isac-andrade-8915a5284/) | [LinkedIn](https://www.linkedin.com/in/jonas-fortes-2138731a3/) | [LinkedIn](https://www.linkedin.com/in/luansilvamoraes/) | [LinkedIn](https://www.linkedin.com/in/geovana-rodrigues-/) | [LinkedIn](https://www.linkedin.com/in/stefaneadna/) |
| [GitHub](https://github.com/IsacAnd) | [GitHub](https://github.com/JonasFortes12) | [GitHub](https://github.com/luanmooraes) | [GitHub](https://github.com/Geovanarsouza) | [GitHub](https://github.com/stefaneadna) |

Binary file added assets/gif-01.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
43 changes: 43 additions & 0 deletions tutorial.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@


### Preparando o ambiente de desenvolvimento:

- Clone este repositório.
```bash
git clone https://github.com/JonasFortes12/MEICash-server.git
```
- Abra o projeto usando o [IntelliJ IDEA Ultimate](https://www.jetbrains.com/idea/download/?section=windows).
- Na raíz do projeto, crie um arquivo chamado `.env` e adicione as variáveis de ambiente disponíveis no arquivo `.env.example`.
```dotenv
MEICASH_POSTGRES_HOST=localhost
MEICASH_POSTGRES_PORT=5432
MEICASH_POSTGRES_DB=juazeiro_meicash
MEICASH_POSTGRES_USER=time_cinco
MEICASH_POSTGRES_PASSWORD=pass_time_cinco
# Change value to "never" for production environment
MEICASH_SQL_INIT_MODE=always
MEICASH_API_PORT=8080
MEICASH_JWT_SECRET=mandacaru-jwt-secret
# Integration test environment
MEICASH_TEST_POSTGRES_HOST=127.0.0.1
MEICASH_TEST_POSTGRES_PORT=5435
MEICASH_TEST_POSTGRES_DB=juazeiro_meicash_test
MEICASH_TEST_POSTGRES_USER=time_cinco_test
MEICASH_TEST_POSTGRES_PASSWORD=pass_time_cinco_test
```
- Acesse, na barra superior da IDE `Run -> Edit Configuration`.
Selecione `MEICashApplication` e clique no botão `Alt + E` para adicionar a configuração
de variáveis de ambiente. Adicione as variáveis de ambiente disponíveis no arquivo `.env` criado.

<img src="./tutorials-assets/setenv.png" width="70%">

- Execute o banco de dados PostgreSQL usando Docker. Use o seguinte comando na raíz do projeto:
```bash
docker-compose up -d
```
- Execute a aplicação Spring Boot. Click no botão de Play na parte superior direita da IDE.
- Você deve ser capaz de acessar o seguinte endereço: `http://localhost:8080/users`
e ver a mensagem: `Eu retorno todos os usuários!`.

0 comments on commit 7077da9

Please sign in to comment.