{"id":20458538,"url":"https://github.com/tvziet/market_place_api","last_synced_at":"2025-10-01T18:31:16.984Z","repository":{"id":162341209,"uuid":"586935517","full_name":"tvziet/market_place_api","owner":"tvziet","description":"This project for practicing API on Rails 7","archived":false,"fork":false,"pushed_at":"2024-12-30T10:46:12.000Z","size":2658,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-16T00:17:00.037Z","etag":null,"topics":["api","aws-s3","postgresql","rails7","ruby","swagger","unit-test"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/tvziet.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":"2023-01-09T15:23:17.000Z","updated_at":"2024-12-23T14:38:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"8d13e895-cdbd-4f5c-af49-8884df97afd7","html_url":"https://github.com/tvziet/market_place_api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvziet%2Fmarket_place_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvziet%2Fmarket_place_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvziet%2Fmarket_place_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvziet%2Fmarket_place_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tvziet","download_url":"https://codeload.github.com/tvziet/market_place_api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234719872,"owners_count":18876527,"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":["api","aws-s3","postgresql","rails7","ruby","swagger","unit-test"],"created_at":"2024-11-15T12:12:55.935Z","updated_at":"2025-10-01T18:31:11.049Z","avatar_url":"https://github.com/tvziet.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# This project for practicing API on Rails 7\n\n![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)\n![Ruby](https://img.shields.io/badge/ruby-%23CC342D.svg?style=for-the-badge\u0026logo=ruby\u0026logoColor=white)\n![Rails](https://img.shields.io/badge/rails-%23CC0000.svg?style=for-the-badge\u0026logo=ruby-on-rails\u0026logoColor=white)\n![Postman](https://img.shields.io/badge/Postman-FF6C37?style=for-the-badge\u0026logo=postman\u0026logoColor=white)\n![Swagger](https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge\u0026logo=swagger\u0026logoColor=white)\n![Amazon AWS](https://img.shields.io/badge/Amazon_AWS-FF9900?style=for-the-badge\u0026logo=amazonaws\u0026logoColor=white)\n![Dependabot](https://img.shields.io/badge/dependabot-025E8C?style=for-the-badge\u0026logo=dependabot\u0026logoColor=white)\n\n## API documents\n\nStart server, then access path: `/api-docs`.\n\n## How to setup\n\n- Copy `.env.example` to `.env`:\n\n  ```bash\n      cp .env.example .env\n  ```\n\n- Create the database:\n\n  ```bash\n      rails db:create\n  ```\n\n- Run migration:\n\n  ```bash\n      rails db:migrate\n  ```\n\n- Run tests:\n\n  ```bash\n      rails test\n  ```\n\n- Run linters:\n  ```bash\n      bundle exec rubocop\n  ```\n\n## Description\n\n### Models\n\n- `User`\n- `Order`\n- `Product`\n- `Image`\n- `Comment`\n\n### Associations\n\nThe `user` will be able to place many `orders`, upload multiple `products` which can have many `images` or `comments` from another `users`.\n\n## Notes\n\n### `fast_jsonapi` gem\n\nWhen we use this gem, we generate serializer, it will generate the folder `serializers`. We neet to load this folder in `application.rb` file:\n\n```ruby\nconfig.eager_load_paths \u003c\u003c Rails.root.join(\"serializers\")\n```\n\n### How to write custom validator methods\n\nRead more here: [Understanding Rails Custom Validations](https://abhinavgarg1218.medium.com/rails-custom-validations-109e3e42b6fd)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftvziet%2Fmarket_place_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftvziet%2Fmarket_place_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftvziet%2Fmarket_place_api/lists"}