https://github.com/luismede/ama-askmeanything
AMA (Ask me Anything) is a website where you can create rooms on different subjects, in these rooms you can write your question and receive likes from other users, until then, without the possibility of writing answers!
https://github.com/luismede/ama-askmeanything
api java jpa jpa-hibernate lombok maven microservice postgresql spring
Last synced: 3 months ago
JSON representation
AMA (Ask me Anything) is a website where you can create rooms on different subjects, in these rooms you can write your question and receive likes from other users, until then, without the possibility of writing answers!
- Host: GitHub
- URL: https://github.com/luismede/ama-askmeanything
- Owner: luismede
- License: mit
- Created: 2025-04-29T15:34:50.000Z (11 months ago)
- Default Branch: develop
- Last Pushed: 2025-05-02T14:30:31.000Z (11 months ago)
- Last Synced: 2025-05-02T15:28:33.731Z (11 months ago)
- Topics: api, java, jpa, jpa-hibernate, lombok, maven, microservice, postgresql, spring
- Language: Java
- Homepage:
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ask Me Anything


AMA (Ask Me Anything) é uma aplicação web desenvolvida em Java que permite aos usuários criar salas temáticas onde podem postar perguntas e receber curtidas de outros usuários. Atualmente, não há suporte para respostas às perguntas.
## Tecnologias Utilizadas
[](https://skillicons.dev)
## Como Executar o Projeto
**Pré-requisitos**
- **Java 17** ou superior instalado.
- **Maven** instalado.
- **PostgreSQL** instalado e em execução.
- **Docker** (opcional, para contêinerização).
## Configuração do Banco de Dados
1. Crie um banco de dados PostgreSQL:
```sql
create database ama_db
```
## Configuração com Variáveis de Ambiente
2. Para proteger credenciais sensíveis, utilize um arquivo `.env` na raiz do projeto:
### Exemplo de `.env`:
```env
DB_HOST=localhost
DB_PORT=5432
DB_NAME=ama_db
DB_USER=seu_usuario
DB_PASSWORD=sua_senha
```
### Configuração no `application.yml`
```yaml
server:
port: 8080
spring:
datasource:
url: jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME}
username: ${DB_USER}
password: ${DB_PASSWORD}
driver-class-name: org.postgresql.Driver
jpa:
hibernate:
ddl-auto: update
show-sql: true
properties:
hibernate:
format_sql: true
profiles:
active: dev
```
### Importante:
O Spring Boot carrega automaticamente variáveis de ambiente, mas para usar arquivos .env, recomenda-se bibliotecas como dotenv-java ou configurar essas variáveis no ambiente do sistema operacional.
Nunca envie seu .env para o GitHub. Adicione-o ao .gitignore.
## Executando a aplicação
1. Compile o projeto:
```bash
./mvnw clean install
```
2. Execute a aplicação:
```bash
./mvnw spring-boot:run
```
3. Acesse a aplicação através do `http://localhost:8080`.
## Funcionalidades
- Criação de Salas: Usuários podem criar salas sobre diversos assuntos.
- Postagem de Perguntas: Dentro das salas, é possível postar perguntas.
- Curtidas em Perguntas: Outros usuários podem curtir as perguntas postadas.
## Contribuindo
Contribuições são bem-vindas! Para colaborar:
1. Fork este repositório.
2. Crie uma branch para sua feature ou correção de bug:
```bash
git checkout -b minha-feature
```
3. Commit suas alterações:
```bash
git commit -m 'Adiciona minha feature'
```
4. Push para a branch:
```bash
git push origin minha-feature
```
5. Abra um Pull Request detalhando suas alterações.
## Licença

Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para mais informações.