{"id":19636092,"url":"https://github.com/ahmed-hamdy101/nodejs-store-front","last_synced_at":"2026-04-02T00:39:27.737Z","repository":{"id":110369272,"uuid":"558626267","full_name":"Ahmed-Hamdy101/nodejs-store-front","owner":"Ahmed-Hamdy101","description":"This Udacity Store Front ","archived":false,"fork":false,"pushed_at":"2023-04-01T04:32:32.000Z","size":518,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-09T16:56:39.366Z","etag":null,"topics":["crud","eslint","express-js","html5","jasmine-tests","javascript","nodejs","postgresql","prettier","test"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Ahmed-Hamdy101.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}},"created_at":"2022-10-27T23:57:52.000Z","updated_at":"2023-08-11T01:15:02.000Z","dependencies_parsed_at":"2024-11-11T12:51:27.062Z","dependency_job_id":null,"html_url":"https://github.com/Ahmed-Hamdy101/nodejs-store-front","commit_stats":null,"previous_names":["ahmed-hamdy101/nodejs-store-front"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmed-Hamdy101%2Fnodejs-store-front","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmed-Hamdy101%2Fnodejs-store-front/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmed-Hamdy101%2Fnodejs-store-front/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmed-Hamdy101%2Fnodejs-store-front/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ahmed-Hamdy101","download_url":"https://codeload.github.com/Ahmed-Hamdy101/nodejs-store-front/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240941489,"owners_count":19882062,"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":["crud","eslint","express-js","html5","jasmine-tests","javascript","nodejs","postgresql","prettier","test"],"created_at":"2024-11-11T12:28:21.831Z","updated_at":"2025-11-21T16:04:17.592Z","avatar_url":"https://github.com/Ahmed-Hamdy101.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./src/template/uda4.png\" /\u003e\n\u003cdiv id=\"header\" align=\"center\"\u003e\n\n  \u003cdiv id=\"badges\"\u003e\n   \u003ca href=\"https://jasmine.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/jasmine-purple?style=for-the-badge\u0026logo=jasmine\u0026logoColor=white\" alt=\"LinkedIn Badge\"/\u003e \u003c/a\u003e\n      \u003ca href=\"https://www.nodejs.com/channel/UCWiPRMWHBpr4jvjCzAeW5dw\"\u003e \u003cimg src=\"https://img.shields.io/badge/Nodejs-green?style=for-the-badge\u0026logo=javascript\u0026logoColor=white\" alt=\"Node Js Badge\"/\u003e \u003c/a\u003e\n  \u003ca href=\"https://www.typescript.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Typescript-blue?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" alt=\"TS Badge\"/\u003e \u003c/a\u003e \u003ca href=\"https://twitter.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/npm-orange?style=for-the-badge\u0026logo=npm\u0026logoColor=white\" alt=\"npm Badge\"/\u003e \u003c/a\u003e\n        \u003ca href=\"https://www.npm.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/bootstrap-purple?style=for-the-badge\u0026logo=bootstrap\u0026logoColor=white\" alt=\"Twitter Badge\"/\u003e \u003c/a\u003e\u003ca href=\"https://twitter.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/express-yellow?style=for-the-badge\u0026logo=express\u0026logoColor=white\" alt=\"ex Badge\"/\u003e \u003c/a\u003e\u003ca href=\"https://www.bootstrap.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/yarn-white?style=for-the-badge\u0026logo=yarn\u0026logoColor=blue\" alt=\"bootstrap Badge\"/\u003e \u003c/a\u003e   \u003ca href=\"https://prettier.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/prettier-black?style=for-the-badge\u0026logo=prettier\u0026logoColor=red\" alt=\"prettier Badge\"/\u003e \u003c/a\u003e\u003ca href=\"https://eslint.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/eslint-purple?style=for-the-badge\u0026logo=eslint\u0026logoColorwhite\" alt=\"eslint Badge\"/\u003e \u003c/a\u003e\u003ca href=\"https://https://jwt.io/\"\u003e\u003cimg src=\"https://img.shields.io/badge/JWT-green?style=for-the-badge\u0026logo=JSON\u0026logoColorwhite\" alt=\"Twitter Badge\"/\u003e \u003c/a\u003e\n  \n  \n\u003c/div\u003e\n\u003c/div\u003e\n\u003ch3\u003e  Welcome in udacity Store Front \u003c/h3\u003e\n\n \u003cp\u003e  this is  udacity app  store front created  processing CRUD on that partical system \u003c/p\u003e\n\n## Contents:\n\n* I  \u003ca  href=\"#id1\"\u003estep by step   Connect to database and create Env Files\u003c/a\u003e\n* II   \u003ca  href=\"#id2\"\u003epackage  \u0026\u0026 installation instructions\u003c/a\u003e\n* III \u003ca  href=\"#id3\"\u003e Run the Server\u003c/a\u003e\n* IIII  \u003ca  href=\"#id4\"\u003eMy Shell\u003c/a\u003e\n* V  \u003ca  href=\"#id5\"\u003eAll API\u003c/a\u003e\n* VI  \u003ca  href=\"#id6\"\u003eDatabase\u003c/a\u003e\n* VII \u003ca  href=\"#id7\"\u003eTesting \u003c/a\u003e\n\n##### Windows commands\n\u003e   yarn s-install     #require yarn \n\nor if u have a bash shell \n\n\u003e  bash [Win-install.sh](./win-install.sh)\n\n##### Install database and run the server\n\u003e   yarn d-install\n\nor\n\n\u003e  bash [create-database.sh](./create-database.sh)\n\n\u003cbr\u003e\n\nor you can go to **Step by step** \n\u003ch1\u003e\u003ca id=\"id1\" href=\"#\"\u003e Step by step   Connect to database and create Env Files\u003c/a\u003e \u003c/h1\u003e\n\nfor how to setup  env file go to check from here \u003ca  href=\"https://htmlpreview.github.io/?https://github.com/Turria101/Store-Front/blob/master/src/docs/Create-env.html\" \u003e connect to database and create env\u003c/a\u003e\n\n\u003ch1\u003e\u003ca id=\"id2\"\u003e Package installation instructions\u003c/a\u003e \u003c/h1\u003e\n\nfor how to setup packages check from here \u003ca  href=\"https://htmlpreview.github.io/?https://github.com/Turria101/Store-Front/blob/master/src/docs/packages.html\" \u003e install packages\u003c/a\u003e\n\u003ch2\u003e \u003ca id=\"id3\"\u003eRun The   server\u003c/a\u003e \u003c/h2\u003e\nrun this command\n```npm\nnpm run start\n```\n* yarn\n\u003e yarn start\n\n* install my script \n\u003e  yarn s-install \n\n* Port\n```bash\nServer port : 4000\nDatabase port : 5432\nServer : localhost\n```\n\u003chr\u003e\n\u003ch1\u003e \u003ca id=\"id4\" \u003eWin-Shell\u003c/a\u003e \u003c/h1\u003e\n\u003cp\u003e\nWorking on Windows i haven't tested on liux machine  yet \nI have Creted a Shell inside the repo  you can check From my document here \u003ca href=\"https://htmlpreview.github.io/?https://github.com/Turria101/Store-Front/blob/master/src/docs/shell.html\" \u003elink\u003c/a\u003e \u003c/p\u003e\n\n\u003ch1\u003e \u003ca id=\"id5\" \u003eAll API\u003c/a\u003e \u003c/h1\u003e \n\n\u003cp\u003e for more information \u003ca src=\"./REQUIREMENTS.md\" \u003eRequirment\u003c/a\u003e \u003c/p\u003e\n\n\u003ctable\u003e\n    \u003cth\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eURL\u003c/td\u003e\n            \u003ctd\u003eType\u003c/td\u003e\n            \u003ctd\u003eToken \u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/th\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/products/findAll\u003c/td\u003e\n            \u003ctd\u003eGET\u003c/td\u003e\n            \u003ctd\u003e valid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/products/:id\u003c/td\u003e\n            \u003ctd\u003eGET\u003c/td\u003e\n            \u003ctd\u003evalid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/products/create\u003c/td\u003e\n            \u003ctd\u003eCREATE\u003c/td\u003e\n            \u003ctd\u003einvalid require token\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/products/create\u003c/td\u003e\n            \u003ctd\u003eCREATE\u003c/td\u003e\n            \u003ctd\u003evalid token\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/users/all\u003c/td\u003e\n            \u003ctd\u003eGET\u003c/td\u003e\n            \u003ctd\u003e invalid  \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/users/:id\u003c/td\u003e\n            \u003ctd\u003eGET\u003c/td\u003e\n            \u003ctd\u003einvalid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/users/register\u003c/td\u003e\n            \u003ctd\u003ePOST\u003c/td\u003e\n            \u003ctd\u003einvalid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/users/:id/edit\u003c/td\u003e\n            \u003ctd\u003eUPDATE\u003c/td\u003e\n            \u003ctd\u003evalid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/users/:id/delete\u003c/td\u003e\n            \u003ctd\u003eDELETE\u003c/td\u003e\n            \u003ctd\u003evalid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/users/:id/signin\u003c/td\u003e\n            \u003ctd\u003ePOST\u003c/td\u003e\n            \u003ctd\u003einvalid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/orders/:Userid\u003c/td\u003e\n            \u003ctd\u003eGET\u003c/td\u003e\n            \u003ctd\u003evalid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/orders/:oid\u003c/td\u003e\n            \u003ctd\u003eGET\u003c/td\u003e\n            \u003ctd\u003evalid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/orders/createorder\u003c/td\u003e\n            \u003ctd\u003ePOST\u003c/td\u003e\n            \u003ctd\u003evalid /td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/orders/:oid/addproductorder\u003c/td\u003e\n            \u003ctd\u003ePOST\u003c/td\u003e\n            \u003ctd\u003evalid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e/api/orders/:pid/Orderproduct\u003c/td\u003e\n            \u003ctd\u003eGET\u003c/td\u003e\n            \u003ctd\u003evalid\u003c/td\u003e\n        \u003c/tr\u003e\n     \u003c/tbody\u003e \u003ctable\u003e\n\n\u003chr\u003e\n\n\u003ca id=\"id6\"\u003e DATABASE \u003c/a\u003e \n\ncheck from \u003ca href=\"./REQUIREMENTS.md\" \u003eRequirement\u003c/a\u003e\n\n\u003ca id=\"id7\"\u003e Testing \u003c/a\u003e\n \n \u003cp\u003e \u003ccode\u003e npm run test \nshell\nyarn run v1.22.19\nwarning package.json: \"test\" is also the name of a node core module\n$ npx tsc \u0026\u0026 jasmine\nJasmine started\nServer is starting at port:4000\n::ffff:127.0.0.1 - GET  HTTP 1.1 200 2392 - 5.839 ms\n   Testing endpoints response\n    √ test hello world endpoint\n  2 Testing-user-model\n    √ require get All method to be define \n    √ require userbyid method to be define \n    √ require userbyid method to be define \n    √ require updateUser method to be define \n    √ require DeleteUser method to be define \n    √  Testing Controllers create user \n    √ Testing Controllers get user by id to give me all records for that specfic user \n    √ Testing Controllers get all to give me all records \nExecuted 9 of 9 specs SUCCESS in 0.296 sec.\nDone in 7.73s.\nC:\\Users\\Black-Gate\\Documents\\2nd_Project\\project_2\u003eyarn test\nyarn run v1.22.19\nwarning package.json: \"test\" is also the name of a node core module\n$ npx tsc \u0026\u0026 jasmine\nJasmine started\nServer is starting at port:4000\n::ffff:127.0.0.1 - GET /api/orders/cdf55917-fe85-4611-a8ed-c6422581f240 HTTP/1.1 401 53 - 8.860 ms\n  1 Test orders endpoint responses\n    √ Testin Get order endpoint should return status code 401 if no token  verified\n    √ Testing get order by id endpoint  valid token || GET ORDER by USERID endpoint should return status code 200 token verified\n::ffff:127.0.0.1 - POST /api/orders/createorder HTTP/1.1 401 53 - 4.482 ms\n    √ Testing  Create order endpoint should return status code 401 \n::ffff:127.0.0.1 - POST /api/orders/3xxxxxxxxxxx/addproductorder HTTP/1.1 401 53 - 2.435 ms\n    √  Testing Gget product order endpoints || UnAuthreturn status code 401 \n::ffff:127.0.0.1 - POST /api/orders/3d2b795b-287a-4354-9553-1375e1f12656/addproductorder HTTP/1.1 401 53 - 0.818 ms\n    √ Testing  Add products to order endpoint should return status code 401 if token verified\n::ffff:127.0.0.1 - GET /api/orders/7946a14e-9c68-404c-9e62-4f0ead9fe1f8/Orderproduct HTTP/1.1 401 53 - 0.549 ms\n    √  Testing Get order products endpoint should return status code 401 if no token verified\n::ffff:127.0.0.1 - POST /api/products/create HTTP/1.1 401 53 - 22.598 ms\n  2 Testing endpoints products\n    √  Testing  Create product endpoint should return status code 401\n::ffff:127.0.0.1 - GET /:63999localhost/api/products/findAll HTTP/1.1 404 175 - 6.605 ms\n    √  Testing Get all products endpoint should return status code 404\n::ffff:127.0.0.1 - GET /api/products/4e08ef4f-d468-487d-bce6-6cac3c5c8554 HTTP/1.1 200 178 - 99.063 ms\n    √  Testing Get product endpoint should return status code 200\n::ffff:127.0.0.1 - GET /xx/users/ HTTP/1.1 404 148 - 2.042 ms\n  3 Testing endpoints users\n    √  Testing Second Routes endpoints Error missing addational routes return 404  !\n::ffff:127.0.0.1 - GET /api/user/XXX HTTP/1.1 401 53 - 2.308 ms\n    √  testing invlid user id or un Auth should return 401  !\n::ffff:127.0.0.1 - GET /api/user/ HTTP/1.1 401 53 - 1.791 ms\n    √ get all users  Return || Unauthorized response status code indicates that the client request has not been completed because it lacks valid authentication\n::ffff:127.0.0.1 - GET /api/user/cdf55917-fe85-4611-a8ed-c6422581f240 HTTP/1.1 401 53 - 4.017 ms\n    √ Testing get one user Return || Unauthorized response status code indicates that the client request has not been completed because it lacks valid authentication\n::ffff:127.0.0.1 - GET /api/user/ HTTP/1.1 401 53 - 0.855 ms\n    √ Testing unauthorized response \n::ffff:127.0.0.1 - POST /api/user/signin HTTP/1.1 401 45 - 13.549 ms\n    √ Testing login User inputs empty \n::ffff:127.0.0.1 - POST /api/user/register HTTP/1.1 401 53 - 2.249 ms\n    √  Testing Create oneUser Return 401 the user is not Auth \n::ffff:127.0.0.1 - POST /api/user/register HTTP/1.1 401 53 - 0.845 ms\n    √ Testing register endpoints return 401   \n::ffff:127.0.0.1 - POST /api/user/signin HTTP/1.1 401 45 - 4.699 ms\n    √ Testing sign in endpoints  Name/password /Login Wrong ! endpoints\n::ffff:127.0.0.1 - POST /api/user/signin HTTP/1.1 200 377 - 125.967 ms\n    √ Testing Auth/login user Return 200 because the use is Auth|| token with  valid authentication \n\n::ffff:127.0.0.1 - GET / HTTP/1.1 200 2392 - 5.582 ms\n  4 Testing endpoints response\n    √ test hello world endpoint\n  5 Testing-product-model\n    √ require getproduct All method to be define \n    √ require productbyid method to be define \n    √ require create product method to be define \n    √ require create product method to be define \n    √ require create product method to be define \n    √ Testing create order to user \n  6 Testing-product-model\n    √ require getproduct All method to be define \n    √ require productbyid method to be define \n    √ require create product method to be define \n    √ create product \n    √ get product by id to give me all records for that specfic product \n    √  get ll products to give me all records \n  7 Testing-user-model\n    √ require get All method to be define \n    √ require userbyid method to be define \n    √ require userbyid method to be define \n    √ require updateUser method to be define \n    √ require DeleteUser method to be define \n    √  Testing Controllers create user \n    √ Testing Controllers get user by id to give me all records for that specfic user \n    √ Testing Controllers get all to give me all records \nExecuted 40 of 40 specs SUCCESS in 0.911 sec.\nDone in 7.72s\n\u003c/code\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmed-hamdy101%2Fnodejs-store-front","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmed-hamdy101%2Fnodejs-store-front","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmed-hamdy101%2Fnodejs-store-front/lists"}