Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fernanda-kipper/desafio-anotaai-backend
Marketplace de restaurantes criado como solução do desafio de backend do AnotaAi para um vídeo no canal
https://github.com/fernanda-kipper/desafio-anotaai-backend
aws java mongodb spring-boot
Last synced: 3 months ago
JSON representation
Marketplace de restaurantes criado como solução do desafio de backend do AnotaAi para um vídeo no canal
- Host: GitHub
- URL: https://github.com/fernanda-kipper/desafio-anotaai-backend
- Owner: Fernanda-Kipper
- Created: 2024-01-14T12:28:27.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-18T17:43:11.000Z (about 1 year ago)
- Last Synced: 2024-02-18T18:38:51.910Z (about 1 year ago)
- Topics: aws, java, mongodb, spring-boot
- Language: Java
- Homepage: https://youtu.be/a3tPHH8uwPc?si=fiD8FobHodI8YWAV
- Size: 87.9 KB
- Stars: 27
- Watchers: 1
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Restaurant Marketplace
## AnotaAi Backend Challenge

[](./LICENSE)

This project is an API built using **Java, Java Spring, AWS Simple Queue Service, Mongo DB and AWS Simple Storage Service.**
The Microservice was developed for my [Youtube Channel](https://youtu.be/a3tPHH8uwPc?si=vFf-S2H5i3IpVTjN), to demonstrate how to solve the [AnotaAi Backend Challenge](https://github.com/githubanotaai/new-test-backend-nodejs).
## Table of Contents
- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
- [API Endpoints](#api-endpoints)
- [Database](#database)
- [Contributing](#contributing)## Installation
1. Clone the repository:
```bash
git clone https://github.com/Fernanda-Kipper/desafio-anotaai-backend.git
```2. Install dependencies with Maven
3. Create a configuration with your runtime environment variables with your AWS Credentials that are used in `application.properties`
```yaml
aws.region=us-east-1
aws.accessKeyId=${AWS_KEY_ID}
aws.secretKey=${AWS_SECRET}
```**Config Values**
```yaml
AWS_KEY_ID=VALUE;AWS_SECRET=VALUE2
```**Mongo**
1. Run in terminal:
```bash
docker compose up -d
```2. Create a DB for mongo using mongo express: http://localhost:8081.
3. Log with admin:pass and create a database called 'product-catalog'.
## Usage
1. Start the application with Maven
2. The API will be accessible at http://localhost:8080## API Endpoints
The API provides the following endpoints:**API PRODUCT**
```markdown
POST /api/product - Create a new product
GET /api/product - Retrieve all products
PUT /api/product/{id} - Updates a product
DELETE /api/product/{id} - Delete a product
```**BODY**
```json
{
"title": "Produto para postar no tópico",
"description": "",
"ownerId": "4444444",
"categoryId": "659d558b0304df732ddd4587",
"price": 10000
}
```**API CATEGORY**
```markdown
POST /api/category - Create a new category
GET /api/category - Retrieve all categories
PUT /api/category/{id} - Updates a category
DELETE /api/category/{id} - Delete a category
```**BODY**
```json
{
"id": "393948882828",
"title": "Teste",
"description": "",
"ownerId": "4444444"
}
```## Contributing
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request to the repository.
When contributing to this project, please follow the existing code style, [commit conventions](https://www.conventionalcommits.org/en/v1.0.0/), and submit your changes in a separate branch.