{"id":22585637,"url":"https://github.com/espiramarvin/events-api","last_synced_at":"2026-04-28T22:32:55.748Z","repository":{"id":62205289,"uuid":"558798457","full_name":"EspiraMarvin/events-api","owner":"EspiraMarvin","description":null,"archived":false,"fork":false,"pushed_at":"2022-11-23T15:44:51.000Z","size":52,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T17:18:31.150Z","etag":null,"topics":["aws-elastic-beanstalk","expessjs","nodejs"],"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/EspiraMarvin.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}},"created_at":"2022-10-28T10:18:51.000Z","updated_at":"2023-03-07T03:12:57.000Z","dependencies_parsed_at":"2023-01-22T06:02:42.106Z","dependency_job_id":null,"html_url":"https://github.com/EspiraMarvin/events-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EspiraMarvin/events-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EspiraMarvin%2Fevents-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EspiraMarvin%2Fevents-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EspiraMarvin%2Fevents-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EspiraMarvin%2Fevents-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EspiraMarvin","download_url":"https://codeload.github.com/EspiraMarvin/events-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EspiraMarvin%2Fevents-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32402666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"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":["aws-elastic-beanstalk","expessjs","nodejs"],"created_at":"2024-12-08T07:09:12.474Z","updated_at":"2026-04-28T22:32:55.734Z","avatar_url":"https://github.com/EspiraMarvin.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## EXPRESS BACKEND\n\n###### events api\n\n### TIPS USED while doing this project\n\n1. JSON WEB TOKEN \u0026 SECURITY\n\n- Issues Access Token and Refresh Token\n\n- Access token = short time to expire\n\n- Refresh token = long time to expire\n\n- Client stores access token in memory and NOT in local storage or cookies\n\n  \u003e (If you can store tokens with javascript (in localstorage and cookies) a hacker can also retrieve it with javascript)\n\n- The REST API are issued with a `httpOnly cookie`\n\n  \u003e this cookie cannot be accessed with javascript\n\n- Refresh token should have an expiration, which then require a user to login again\n\n- Refresh tokens should not have the ability to issue new refresh tokens because that will grant indefinite access. - they should also be able to expire\n\n- Acess token is issued after user authentication\n\n- New token is issued at Refresh request\n\n2.  To generate random access and refresh tokens with node for our env access token\n\n    \u003e \u003e \u003e \u003e\n\n        open terminal\n        type node, hit enter\n        type require('crypto').randomBytes(64).toString('hex')\n\n        ----------------------\n        output something like below\n        21e47046cc77b371fa56b4d840ebdsfsdfskdfl2bfa1de67e9cae6ff77d1d084cf1efed3c2c0d5a1a93ceadd7e6d76da527027f9278a794e166487e306afe527a7f4\n\n    \u003e \u003e \u003e \u003e\n\n\n###### Migrate scraped data into mongocloud\n\n\u003e mongoimport --uri mongodb+srv://\u003cusername\u003e:\u003cpassword\u003e@cluster0.7tbkbvy.mongodb.net/\u003cdbname\u003e --collection \u003ccollection\u003e --type json --file \u003cfilename.json\u003e --jsonArray","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fespiramarvin%2Fevents-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fespiramarvin%2Fevents-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fespiramarvin%2Fevents-api/lists"}