{"id":17002687,"url":"https://github.com/eddiescj/starwars-api-go","last_synced_at":"2026-03-01T00:32:32.260Z","repository":{"id":40357833,"uuid":"392133663","full_name":"EddieSCJ/starwars-api-go","owner":"EddieSCJ","description":"It's a learn project based on my tech test in Americanas S.A.","archived":false,"fork":false,"pushed_at":"2023-04-04T21:21:23.000Z","size":116,"stargazers_count":5,"open_issues_count":7,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-29T05:51:46.983Z","etag":null,"topics":["cicd","go","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EddieSCJ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2021-08-03T00:21:26.000Z","updated_at":"2022-11-30T01:47:25.000Z","dependencies_parsed_at":"2025-04-12T06:30:48.967Z","dependency_job_id":"5c3154e7-d303-4379-a1a9-82d1bedae247","html_url":"https://github.com/EddieSCJ/starwars-api-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EddieSCJ/starwars-api-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EddieSCJ%2Fstarwars-api-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EddieSCJ%2Fstarwars-api-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EddieSCJ%2Fstarwars-api-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EddieSCJ%2Fstarwars-api-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EddieSCJ","download_url":"https://codeload.github.com/EddieSCJ/starwars-api-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EddieSCJ%2Fstarwars-api-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29956195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T22:53:01.873Z","status":"ssl_error","status_checked_at":"2026-02-28T22:52:50.699Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cicd","go","rest-api"],"created_at":"2024-10-14T04:28:43.646Z","updated_at":"2026-03-01T00:32:32.215Z","avatar_url":"https://github.com/EddieSCJ.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cp align=\"center\"\u003e :space_invader: Go Star Wars API :space_invader:\u003c/p\u003e\n\n#### \u003cp align=\"center\"\u003e  Project Tooling \u003c/p\u003e\n\u003cdiv align=\"center\"\u003e \n    \u003ca href=\"https://app.snyk.io/org/eddiescj/projects\" target=\"_blank\"\u003e:wolf: Snyk \u003c/a\u003e\n    \u003ca href=\"https://sonarcloud.io/project/overview?id=EddieSCJ_starwars-api-go\" target=\"_blank\"\u003e:detective: SonarCloud \u003c/a\u003e\n    \u003ca href=\"https://app.codecov.io/gh/EddieSCJ/starwars-api-go/\" target=\"_blank\"\u003e:open_umbrella: CodeCov \u003c/a\u003e\n    \u003ca href=\"https://golangci-lint.run/\" target=\"_blank\"\u003e:white_check_mark: GolangCI-Lint \u003c/a\u003e\n\n\u003c/div\u003e\n\n#### \u003cp align=\"center\"\u003e  Description \u003c/p\u003e\nThis api is a simple wrapper for the [Star Wars API](https://swapi.dev/) where you can get information about the characters,\nplanets, starships, vehicles, species, films, and more with a few extra features where you can handle this data however you \nneed.\n\nPlease, read the content below to know how to use this api and if is there any doubt, please, contact me.\n\n#### \u003cp align=\"center\"\u003e  Using Cloud Tools \u003c/p\u003e\n\n* Snyk\n    * Just click in the link above and search for starwars-api-go, so you will be able to see the security problems.\n* SonarCloud\n    * Clicking the link above you will be redirected to the quality analysis of this project.\n* CodeCov\n    * You can click the link above and see the code coverage details by commit or any type of data or just see the summary in your PR.\n* GolangCI-Lint\n    * You are able to see it in the actions tab, most specifically in the Lint Check job.\n\n#### \u003cp align=\"center\"\u003e Running \u003c/p\u003e\nTo run the program you just need to type: `go run main.go` in your terminal and wait to see magic happens.\nHowever, make sure you have a mongodb instance in [Docker](https://docs.docker.com/engine/install/) or locally running to the app uses.\n\nMoreover, there is some enviroment variables you can use, follow:\n\n| NAME                 | VALUE                 |\n|----------------------|-----------------------|\n| MONGO_HOST           | localhost             |\n| MONGO_USER           |                       |\n| MONGO_PASSWORD       |                       |\n| MONGO_PORT           | 27017                 |\n| MONGO_DB             | development           |\n| MONGO_CONTAINER_NAME | mongoservice          |\n| SWAPI_URL            | https://swapi.dev/api |\n| ENV                  | dev                   |\n| API_PORT             | 8080                  |\n\n#### \u003cp align=\"center\"\u003e  Testing \u003c/p\u003e\n\nThere are two types of tests which are used in this project, unit and integrated tests.\nTo run the unit tests you just need to type: `go test ./...` in your terminal and wait to see magic happens.\n\nHowever, our integrated tests are running with DockerTest to reproduce more realistic scenarios, so, we need some extra commands, nothing scaring, firstly, make sure you have [Docker](https://docs.docker.com/engine/install/) installed in your machine and type `go test -p 1 -tags integration ./...` in your terminal.\n\nIf you want to see the benchmarks, just run `go test ./... -bench .`\n\n:grey_question: What exactly is this `-p 1` :grey_question:\n\nThe Go Programming language run the test packages in parallel, so, it's possible our docker containers being not ready before some integrations test. To make sure it will not happen, we limit the workers to only one.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddiescj%2Fstarwars-api-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feddiescj%2Fstarwars-api-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddiescj%2Fstarwars-api-go/lists"}