{"id":22387230,"url":"https://github.com/codelikeagirl29/express-drills","last_synced_at":"2026-04-08T21:31:34.741Z","repository":{"id":128288297,"uuid":"365661369","full_name":"CodeLikeAGirl29/express-drills","owner":"CodeLikeAGirl29","description":"A practice project using Express and Node","archived":false,"fork":false,"pushed_at":"2022-10-24T02:58:09.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-26T21:13:54.206Z","etag":null,"topics":["code-climate","express","express-drills","node","practice-project"],"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/CodeLikeAGirl29.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":"2021-05-09T03:48:00.000Z","updated_at":"2022-10-24T02:59:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"e093881a-bee4-47ac-a709-7be4a5d2aac0","html_url":"https://github.com/CodeLikeAGirl29/express-drills","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CodeLikeAGirl29/express-drills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeLikeAGirl29%2Fexpress-drills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeLikeAGirl29%2Fexpress-drills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeLikeAGirl29%2Fexpress-drills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeLikeAGirl29%2Fexpress-drills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeLikeAGirl29","download_url":"https://codeload.github.com/CodeLikeAGirl29/express-drills/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeLikeAGirl29%2Fexpress-drills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31575435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["code-climate","express","express-drills","node","practice-project"],"created_at":"2024-12-05T02:08:10.328Z","updated_at":"2026-04-08T21:31:34.736Z","avatar_url":"https://github.com/CodeLikeAGirl29.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Express Drills\n_Solution code for Express drills_\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/ba2c05cf2e951cdfb0ef/maintainability)](https://codeclimate.com/github/CodeLikeAGirl29/express-drills/maintainability)\n\n---\n\n## Drills\n\n1. Create a route handler function on the path `/sum` that accepts two query parameters named `a` and \n`b` and find the sum of the two  values. Return a string in the format \"The sum of a and b is c\". Note \nthat query parameters are always strings so some thought should be given to converting them to numbers.\n\n2. Create an endpoint `/cipher`. The handler function should accept a query parameter named `text` and \na one named `shift`. Encrypt the text using a simple shift cipher also known as a [Caesar Cipher](http://practicalcryptography.com/ciphers/caesar-cipher/). \nIt is a simple substitution cipher where each letter is shifted a certain number of places down the \nalphabet. So if the shift was 1 then A would be replaced by B, and B would be replaced by C and C \nwould be replaced by D and so on until finally Z would be replaced by A. using this scheme encrypt the \ntext with the given shift and return the result to the client.\n\n3. To send an array of values to the server via a query string simply repeat the key with different \nvalues. For instance, the query string `?arr=1\u0026arr=2\u0026arr=3` results in the query object `{ arr: [ '1', '2', '3' ] }`. \nCreate a new endpoint `/lotto` that accepts an array of 6 numbers between 1 and 20. The function then \nrandomly generates 6 numbers between 1 and 20. Compare the numbers sent in the query with the randomly \ngenerated numbers to determine how many match. If fewer than 4 numbers match respond with the string \n\"Sorry you lose\". If 4 numbers match respond with the string \"Congratulations, you win a free ticket\", \nif 5 numbers match respond with \"Congratulations! You win $100!\". If all 6 numbers match respond with \n\"Wow! Unbelievable! You could have won the mega millions!\".","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelikeagirl29%2Fexpress-drills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodelikeagirl29%2Fexpress-drills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelikeagirl29%2Fexpress-drills/lists"}