{"id":18647925,"url":"https://github.com/potchangelo/express-unsplash","last_synced_at":"2026-04-04T20:33:31.517Z","repository":{"id":38765970,"uuid":"278911269","full_name":"potchangelo/express-unsplash","owner":"potchangelo","description":"Web-API for Unsplash-Cloned Web-App (For Educational Purposes Only)","archived":false,"fork":false,"pushed_at":"2024-06-19T02:37:23.000Z","size":493,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-17T19:38:18.626Z","etag":null,"topics":["api","express","mysql","nodejs","sequelize","sequelize-cli"],"latest_commit_sha":null,"homepage":"https://express-unsplash.adaptable.app/photos","language":"JavaScript","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/potchangelo.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":"2020-07-11T17:36:59.000Z","updated_at":"2022-12-10T11:20:09.000Z","dependencies_parsed_at":"2024-11-07T06:30:26.237Z","dependency_job_id":"2ae61d0a-4cf8-4cad-bb6c-5c7a3d3c3c3b","html_url":"https://github.com/potchangelo/express-unsplash","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/potchangelo/express-unsplash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potchangelo%2Fexpress-unsplash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potchangelo%2Fexpress-unsplash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potchangelo%2Fexpress-unsplash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potchangelo%2Fexpress-unsplash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/potchangelo","download_url":"https://codeload.github.com/potchangelo/express-unsplash/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potchangelo%2Fexpress-unsplash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31413269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: 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":["api","express","mysql","nodejs","sequelize","sequelize-cli"],"created_at":"2024-11-07T06:28:19.778Z","updated_at":"2026-04-04T20:33:31.478Z","avatar_url":"https://github.com/potchangelo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Express Unsplash by Zinglecode\n\nExpress Web-API for Unsplash-Cloned web-app (for educational purposes only)\n\n[Front-end web-app](https://github.com/potchangelo/next-unsplash)\n\n\n## Table of Contents\n\n* [How to Install and Run Offline](#how-to-install-and-run-offline)\n* [Base URL Online](#base-url-online)\n* [API Documentation](#api-documentation)\n* [Credits](#credits)\n\n\n## How to Install and Run Offline\n\n0. Before running project, make sure that **Node.js** + **PostgreSQL** are installed and already setup on your machine. And the database in PostgreSQL is created already.\n\n1. Download this project, then open project folder in code editor (VSCode or Anything).\n\n2. Rename \".env.sample\" file in project folder to \".env\", then change database URL string to your config.\n\nTemplate\n```\nDATABASE_URL=\"postgresql://{username}:{password}@{host}:{port}/{database}?schema=public\"\n```\n\nExample\n```\nDATABASE_URL=\"postgresql://root:pass1234@localhost:5432/nodejs_express_unsplash?schema=public\"\n```\n\n3. Open Terminal or Command Prompt at project folder, then install packages.\n\n```\nnpm install\n```\n\n4. Type Prisma CLI command to updates database migrations and seeds sample data.\n\n```\nnpx prisma migrate dev\n```\n\n5. Start running Node.js Express web-app.\n\n```\nnpm run start\n```\n\n\n## Base URL Online\n\nEvery API is started at ----------. Responses are sent as JSON.\n\n\n## API Documentation\n\n* [Get photos](#get-photos)\n* [Get photo](#get-photo)\n* [Get random photo](#get-random-photo)\n* [Get user](#get-user)\n\n### Get photos\n\nGet latest photos (Max at 12 photos).\n\n```http\nGET /photos\n```\n\n#### Query string parameters\n\nName | Required/Optional | Description\n---- | ----------------- | -----------\nbeforeId | Optional | Get latest photos which id \u003c beforeId.\n\n#### Example request\n\n```\n-----------/photos\n```\n\n### Get photo\n\nGet single photo\n\n```http\nGET /photos/:uid\n```\n\n#### Path parameters\n\nName | Required/Optional | Description\n---- | ----------------- | -----------\nuid | Required | Unique ID of the photo\n\n#### Example request\n\n```\n----------/photos/mRIUGPTtA7\n```\n\n\n### Get random photo\n\nGet single random photo\n\n```http\nGET /photos/random\n```\n\n#### Example request\n\n```\n----------/photos/random\n```\n\n\n### Get user\n\nGet single user profile\n\n```http\nGET /users/:username\n```\n\n#### Path parameters\n\nName | Required/Optional | Description\n---- | ----------------- | -----------\nusername | Required | Username of the user\n\n#### Query string parameters\n\nName | Required/Optional | Description\n---- | ----------------- | -----------\nlatestPhotos | Optional | Set to 1 for included user's latest photos (Max at 12 photos) in the response\n\n#### Example request\n\n```\n----------/users/jason555\n```\n\n\n## Credits\n\nThe project was inspired by https://unsplash.com/. Every photos in API already included with credit for the author on Unsplash.\n\n### Stack used in the project\n\n- Node.js\n- Express\n- Prisma\n- PostgreSQL\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpotchangelo%2Fexpress-unsplash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpotchangelo%2Fexpress-unsplash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpotchangelo%2Fexpress-unsplash/lists"}