{"id":15590465,"url":"https://github.com/adam-robson/yawp","last_synced_at":"2025-08-31T12:38:09.277Z","repository":{"id":122988161,"uuid":"571845398","full_name":"Adam-Robson/yawp","owner":"Adam-Robson","description":"This is a backend project using express and Supabase to Create Read Update and Delete data from a database with Authentication and Authorization for users.","archived":false,"fork":false,"pushed_at":"2024-11-22T10:50:58.000Z","size":463,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T14:08:14.322Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/Adam-Robson.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-11-29T02:12:31.000Z","updated_at":"2024-03-29T16:42:23.000Z","dependencies_parsed_at":"2025-02-15T07:46:56.609Z","dependency_job_id":"40750219-5107-410d-8226-457afff2a64a","html_url":"https://github.com/Adam-Robson/yawp","commit_stats":null,"previous_names":["adam-robson/yawp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Adam-Robson/yawp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adam-Robson%2Fyawp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adam-Robson%2Fyawp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adam-Robson%2Fyawp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adam-Robson%2Fyawp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Adam-Robson","download_url":"https://codeload.github.com/Adam-Robson/yawp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adam-Robson%2Fyawp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272982753,"owners_count":25025984,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"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":[],"created_at":"2024-10-02T23:22:06.018Z","updated_at":"2025-08-31T12:38:09.248Z","avatar_url":"https://github.com/Adam-Robson.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Express YAWN\n\n[![portfolio](https://img.shields.io/badge/my_portfolio-000?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white)](https://adamrobson.vercel.app/)\n[![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/adamrayrobson)\n\nThis is a backend application built with [Express](https://expressjs.com/) and [Postgres](https://www.postgresql.org/), that includes authentication and authorization and offers an alternative login using [GitHub](https://github.com) OAuth to sign in users.\n\n## Table of Contents\n\n- [Express YAWN](#express-yawn)\n  - [Table of Contents](#table-of-contents)\n  - [General Information](#general-information)\n  - [Features](#features)\n  - [Scripts](#scripts)\n  - [Run Locally](#run-locally)\n  - [Routes](#routes)\n    - [Users](#users)\n    - [Restaurants](#restaurants)\n    - [Github](#github)\n  - [Technologies Used](#technologies-used)\n  - [Authors](#authors)\n  - [Acknowledgements](#acknowledgements)\n  - [Contact](#contact)\n\n## General Information\n\nThis project was built as part of my time in the July 2022 cohort at Alchemy Code Lab in Portland, Oregon.\n\n## Features\n\nThis backend application uses Express to create a server and Postgres to create a database. It includes the functionality to Create Read Update and Delete books from the database.\n\n## Scripts\n\n| Command                | Description                                                                         |\n| ---------------------- | ----------------------------------------------------------------------------------- |\n| `npm start`            | Starts the app - should only be used in production as changes will not get reloaded |\n| `npm run start:watch`  | Runs the app using `nodemon` which watches for changes and reloads the app          |\n| `npm test`             | Runs the tests once                                                                 |\n| `npm run test:watch`   | Continually watches and runs the tests when files are updated                       |\n| `npm run setup-db`     | Sets up the database locally                                                        |\n| `npm run setup-heroku` | Sets up the database on Heroku                                                      |\n\n## Run Locally\n\n1. Make sure you have node installed\n2. Clone the repository to your local machine\n3. Create a dotenv file just like the example, except with unique values for the variables\n4. Ports 8080 \u0026 5432\n\n## Routes\n\n### Users\n\n`/api/v1/users/`            `POST`          Creates new user\n\n`api/v1/users/sessions/`    `POST`          Signs in existing user\n\n`/api/v1/users/me/`         `GET`           Returns current user\n`/api/v1/users/`            `GET`           Authorized endpoint - returns all users for admin\n`api/v1/users/sessions/`    `DELETE`        Deletes a user session\n\n### Restaurants\n\n`/restaurants`              `GET`           returns a list of restaurants\n`/restaurants/:id`          `GET`           returns a specific restaurant\n`/restaurants/:id/reviews`  `POST`          allows user to add reviews\n\n### Github\n\n\n`/api/v1/github/login`      `GET`       for redirecting to Github’s OAuth\n\n`/api/v1/github/callback`   `GET`       callback URI for Github to redirect to after log in\n\n`/api/v1/github`            `DELETE`    signs a user out (i.e. deletes the session cookie)\n\n\n## Technologies Used\n\n- JavaScript\n- Express\n- Babel\n- Node\n- Postgres\n- Postman\n- Jest\n- Nodemon\n- ESLint\n- Prettier\n- GitHub Actions\n\n## Authors\n\n\u003e [@Adam-Robson](https://www.github.com/Adam-Robson)\n\n## Acknowledgements\n\nThanks to Alchemy Code Lab and instructor [Julie Nisbet](https://www.github.com/julienisbet), who created the template for the project and was crucial in debugging along the way!\n\n## Contact\n\nFeel free to reach out! I can be messaged through LinkedIn by clicking on the badge above or by emailing me at adamray312@gmail.com.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadam-robson%2Fyawp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadam-robson%2Fyawp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadam-robson%2Fyawp/lists"}