{"id":22573058,"url":"https://github.com/thribeiro8/courses-api","last_synced_at":"2026-04-10T17:05:32.355Z","repository":{"id":224623380,"uuid":"762839359","full_name":"thribeiro8/courses-api","owner":"thribeiro8","description":"A courses simple API.","archived":false,"fork":false,"pushed_at":"2024-02-26T22:44:13.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T15:14:54.406Z","etag":null,"topics":["docker-compose","java","markdown","mvn","postgresql","readme","spring-boot","swagger"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thribeiro8.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-24T20:42:01.000Z","updated_at":"2024-04-17T20:00:39.000Z","dependencies_parsed_at":"2024-02-26T23:51:58.782Z","dependency_job_id":null,"html_url":"https://github.com/thribeiro8/courses-api","commit_stats":null,"previous_names":["thribeiro8/courses-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thribeiro8%2Fcourses-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thribeiro8%2Fcourses-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thribeiro8%2Fcourses-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thribeiro8%2Fcourses-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thribeiro8","download_url":"https://codeload.github.com/thribeiro8/courses-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246049632,"owners_count":20715511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-compose","java","markdown","mvn","postgresql","readme","spring-boot","swagger"],"created_at":"2024-12-08T02:13:44.474Z","updated_at":"2025-12-30T23:20:27.276Z","avatar_url":"https://github.com/thribeiro8.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Courses API\n\n## Rocketseat Backend Challenge\n\n![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge\u0026logo=openjdk\u0026logoColor=white)\n![Spring](https://img.shields.io/badge/spring-%236DB33F.svg?style=for-the-badge\u0026logo=spring\u0026logoColor=white)\n[![Licence](https://img.shields.io/github/license/Ileriayo/markdown-badges?style=for-the-badge)](./LICENSE)\n\nThis project is an API built using **Java, Java Spring, JPA, Docker, PostgreSQL.**\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Configuration](#configuration)\n- [Usage](#usage)\n- [API Endpoints](#api-endpoints)\n- [Database](#database)\n- [Contributing](#contributing)\n\n## Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/thribeiro8/courses-api\n```\n\n2. Install dependencies with Maven\n\n3. Create a configuration with your runtime environment variables with your PostgreeSQL Credentials that are used in `application.properties`\n\n```yml\nspring.datasource.url=jdbc:postgresql://localhost:5432/courses_api\nspring.datasource.username=admin\nspring.datasource.password=admin\nspring.jpa.hibernate.ddl-auto=update\n```\n\n**Docker**\n\n```yml\nversion: \"3.8\"\n\nservices:\n  postgres:\n    container_name: courses_api_postgres\n    image: postgres\n    ports:\n      - 5432:5432\n    environment:\n      - POSTGRES_USER=admin\n      - POSTGRES_PASSWORD=admin\n      - POSTGRES_DB=courses_api\n```\n\n**Postgres**\n\n1. Run in terminal:\n\n```bash\ndocker compose up -d\n```\n\n2. Create a DB for postgres using docker compose: http://localhost:5432.\n\n3. Log with admin:admin and create a database called 'course'.\n\n## Usage\n\n1. Start the application with Maven\n2. The API will be accessible at http://localhost:5432\n\n## API Endpoints\n\nThe API provides the following endpoints:\n\n**API COURSE**\n\n```markdown\nPOST /courses - Create a new course\nGET /courses - Retrieve all courses\nGET /courses/{id} - Retrieve a course\nPUT /courses/{id} - Updates a course\nDELETE /courses/{id} - Delete a course\n```\n\n**BODY**\n\n```json\n{\n  \"name\": \"Curso a ser postado\",\n  \"category\": \"Categoria a ser postada\"\n}\n```\n\n## Contributing\n\nContributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request to the repository.\n\nWhen 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthribeiro8%2Fcourses-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthribeiro8%2Fcourses-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthribeiro8%2Fcourses-api/lists"}