{"id":15803987,"url":"https://github.com/laurosilveira/sify-flix-api","last_synced_at":"2026-04-28T11:31:45.480Z","repository":{"id":223895790,"uuid":"761306430","full_name":"LauroSilveira/sify-flix-api","owner":"LauroSilveira","description":"An API REST built with Spring boot, spring security about movies and series of spaceships","archived":false,"fork":false,"pushed_at":"2024-06-24T07:48:00.000Z","size":153,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-06T02:01:53.030Z","etag":null,"topics":["basic-authentication","flyway","openapi3","spring-aspects","spring-boot","spring-security"],"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/LauroSilveira.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,"publiccode":null,"codemeta":null}},"created_at":"2024-02-21T16:14:56.000Z","updated_at":"2024-06-24T07:48:03.000Z","dependencies_parsed_at":"2024-06-28T06:15:15.572Z","dependency_job_id":null,"html_url":"https://github.com/LauroSilveira/sify-flix-api","commit_stats":null,"previous_names":["laurosilveira/sify-flix-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauroSilveira%2Fsify-flix-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauroSilveira%2Fsify-flix-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauroSilveira%2Fsify-flix-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauroSilveira%2Fsify-flix-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LauroSilveira","download_url":"https://codeload.github.com/LauroSilveira/sify-flix-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246547387,"owners_count":20794970,"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":["basic-authentication","flyway","openapi3","spring-aspects","spring-boot","spring-security"],"created_at":"2024-10-05T02:01:15.991Z","updated_at":"2026-04-28T11:31:40.448Z","avatar_url":"https://github.com/LauroSilveira.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sify-flix-api\n\n## About this project\n* [About](#about)\n* [Architecture](#Architecture)\n* [Technologies](#Technologies)\n* [Swagger Documentation](#Swagger-documentation)\n* [Security](#Security)\n* [How to run](#how-to-run)\n    * [Run with Docker](#run-with-docker-compose)\n    * [Run with mvn spring-boot:run](#run-with-mvn-spring-boot)\n* [how to run Test](#run-tests)\n* [Contributors](#contributors)\n\n# About\nThis is a Rest API developed based on the requirements given for the selection process by the company W2M.\nThis API was built with Java 21, Spring Boot, H2 Database, Flyway Migration, Spring Doc OpenAPI, Docker and Docker-compose.\n\n# Architecture\nThe application is built following the **MVC** design pattern.\nEach of the components will be described below:\n* **View**: contains response from the Rest controller that will be shown in JSON format to the client.\n* **Rest Controller**: responsible for receiving calls and directing them to the correct service.\n* **Service**: a design pattern layer responsible for calling the service from the repository layer.\n* **Repository**: this layer is responsible for connecting to the database and for persisting, retrieving, updating and deleting data.\n\n# Technologies\n- Java 21\n- Spring Boot 3.2.2\n- Spring Security - Basic Authentication\n- Spring OpenAPI\n- H2 Database\n- Flyway Migration\n- Docker\n- Docker-compose\n- AssertJ, Mockito\n\n# Swagger Documentation\n\nThe documentation is generated by Spring Openapi. Once you have started the application the url: ```http://localhost:8080/swagger-ui.html```\n\n![space-ship-rescontroller.png](data/space-ship-restcontroller.png)\n\n# Security\nThis API is protected with Spring Security using basic authorization.\nThis API is configured to not save sessions.\nOnce you have accessed Swagger, simply authenticate with your username and password.\nNotes: Basic authorization mode is **not recommended**, as it is not the most secure.\nWhen starting the application, a user ```user: admin password:1234``` with the admin role will already be available.\n\n# How to Run\nThere two options to run this application, run by docker-compose or run as spring-boot.\n\n### Run with docker-compose\nMake sure you have **Docker** installed and execute the command.\n\n```\ndocker-compose up\n```\n### Run with mvn spring-boot\n```shell\nmvn spring-boot:run\n```\n\n# Run tests\n\nThis application has unity tests and integration tests, once it use Maven just run:\n\n```\nmvn test\n```\n\n## Contributors\n[@LauroSilveira](https://github.com/LauroSilveira)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaurosilveira%2Fsify-flix-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaurosilveira%2Fsify-flix-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaurosilveira%2Fsify-flix-api/lists"}