{"id":40993543,"url":"https://github.com/arvinpaundra/repository-api","last_synced_at":"2026-01-22T08:05:25.939Z","repository":{"id":111090165,"uuid":"582926132","full_name":"arvinpaundra/repository-api","owner":"arvinpaundra","description":"Repository Scientific Papers API is a backend project build with Golang to accomplish my associate degree study.","archived":false,"fork":false,"pushed_at":"2023-07-30T01:11:38.000Z","size":451,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-03T07:07:18.957Z","etag":null,"topics":["docker","echo","golang","mysql","redis","swagger","testify"],"latest_commit_sha":null,"homepage":"https://arvinpaundra.me/api/v1","language":"Go","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/arvinpaundra.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":"2022-12-28T08:55:33.000Z","updated_at":"2023-07-16T10:06:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"1f6f3c0e-f813-416a-bcc7-80220edf522f","html_url":"https://github.com/arvinpaundra/repository-api","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/arvinpaundra/repository-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arvinpaundra%2Frepository-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arvinpaundra%2Frepository-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arvinpaundra%2Frepository-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arvinpaundra%2Frepository-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arvinpaundra","download_url":"https://codeload.github.com/arvinpaundra/repository-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arvinpaundra%2Frepository-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28659021,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["docker","echo","golang","mysql","redis","swagger","testify"],"created_at":"2026-01-22T08:04:56.366Z","updated_at":"2026-01-22T08:05:25.934Z","avatar_url":"https://github.com/arvinpaundra.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Repository Scientific API\n\nAn API for scientific repositories like [EPrints](https://www.eprints.org/uk), [DSpace](https://dspace.lyrasis.org), etc. The output of this application are to upload and search student or lecturer or somebody's paper, thesis, etc. This application could be a reference especially for students to write a scientific papers. Last but not least, this application also can generate a library identity card with pdf output.\n\n## Table of Contents\n\n- [Usage](#usage)\n- [Tech Stack](#Tech-Stack)\n- [API Documentation](#API-Documentation)\n- [Testing](#Testing)\n\n## Usage\n\n### Prerequisite\n\n- Golang `migrate` installed\n\nThis project using golang migrate to perform database migration or versioning. Alternatively, to perform database migration could use builtin migration with gorm `AutoMigrate` since this project using gorm. Choose wisely!\n\n- `Wkhtmltopdf` installed\n\nFor generated pdf, I prefer to using wkhtmltopdf which is a CLI apps for generate pdf from html file. So, make sure to install this binary too.\n\n### Run application\n\nAfter fullfil the prerequisite above, clone or download this repo, then you can follow the steps below :\n\n- Download all dependencies\n\n```sh\ngo mod download\n```\n\n- Perform migrate database using golang `migrate`\n\n```sh\nmigrate -database \"mysql://uname:pass@tcp(localhost:3306)/db_name\" -path ./migrations up\n```\n\n- Run with no worries\n\n```sh\ngo run ./app/main.go\n```\n\n## Tech Stack\n\n- [Golang](https://go.dev/) - The Protagonist\n- [Echo](https://echo.labstack.com/) - Web Framework\n- [Gorm](https://gorm.io/) - ORM\n- [Migrate](https://github.com/golang-migrate/migrate) - Tool for database migration\n- [go-redis](https://github.com/go-redis/redis) - Type-safe Redis client\n- [Swagger](https://swagger.io) - API Docs\n- [Testify](https://github.com/stretchr/testify) - Testing library\n- [Mockery](https://github.com/vektra/mockery) - Mock generator\n\n## API Documentation\n\nThis project using [Swagger](https://swagger.io) for API Documentation or API Specification and always update the docs when each feature is done. For the documentation, you can visit this link. [API Docs](https://example.com)\n\n## Testing\n\nDo run the test with command snippet below :\n\n```sh\ngo test -v -cover ./services/...\n```\n\nFor more information about test coverage and more readable (generated into html), then do run this command :\n\n```sh\ngo test -v -coverprofile=cover.out ./services/... \u0026\u0026 go tool cover -html=cover.out\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farvinpaundra%2Frepository-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farvinpaundra%2Frepository-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farvinpaundra%2Frepository-api/lists"}