{"id":20944328,"url":"https://github.com/divyansharma001/uvprotect","last_synced_at":"2026-04-07T23:32:08.509Z","repository":{"id":218327009,"uuid":"746142866","full_name":"divyansharma001/uvProtect","owner":"divyansharma001","description":"Provides UV forecast to save user from harmful UV rays","archived":false,"fork":false,"pushed_at":"2024-03-17T17:11:12.000Z","size":28221,"stargazers_count":1,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-31T14:45:23.920Z","etag":null,"topics":["bootstrap","ejs","expressjs","hacktoberfest","hacktoberfest-accepted","javascript"],"latest_commit_sha":null,"homepage":"https://uvsafe.onrender.com/","language":"EJS","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/divyansharma001.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":"2024-01-21T07:21:30.000Z","updated_at":"2024-10-13T08:39:46.000Z","dependencies_parsed_at":"2024-11-18T23:42:59.760Z","dependency_job_id":"438232d4-1249-49a6-94af-0c588ec6fe0c","html_url":"https://github.com/divyansharma001/uvProtect","commit_stats":null,"previous_names":["divyansharma001/uvprotect"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/divyansharma001/uvProtect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divyansharma001%2FuvProtect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divyansharma001%2FuvProtect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divyansharma001%2FuvProtect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divyansharma001%2FuvProtect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/divyansharma001","download_url":"https://codeload.github.com/divyansharma001/uvProtect/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divyansharma001%2FuvProtect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31533823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"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":["bootstrap","ejs","expressjs","hacktoberfest","hacktoberfest-accepted","javascript"],"created_at":"2024-11-18T23:40:06.961Z","updated_at":"2026-04-07T23:32:08.491Z","avatar_url":"https://github.com/divyansharma001.png","language":"EJS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UV Safe\n\n**Description**\n\nThis Node.js web application fetches UV index data and location information for a given latitude and longitude. It utilizes the OpenCageData API for geocoding and the Open UV API for UV data retrieval. The retrieved information is then displayed on an EJS template. The goal is to help users take preventive measures to protect themselves from harmful UV rays.\n  \n  \n**Key Features**\n\n- Retrieves UV index data for the next 11 hours.\n- Displays location details (city, state, country).\n- Converts UTC timestamps to India Standard Time (IST) for user convenience.\n- User-friendly interface built with EJS templates.\n\n**Prerequisites**\n\n- Node.js and npm (or yarn) installed on your system.\n- An OpenCageData API key ([https://opencagedata.com/](https://opencagedata.com/))\n- An Open UV API key ([https://www.openuv.io/index.html](https://www.openuv.io/index.html))\n\n**Installation**\n\n1. Clone this repository:\n\n   ```bash\n   git clone https://github.com/your-username/your-project-name.git\n   ```\n\n2. Navigate to the project directory:\n\n   ```bash\n   cd your-project-name\n   ```\n\n3. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n**Configuration**\n\n1. Create a `.env` file in the project root directory.\n2. Add the following environment variables to the `.env` file, replacing the placeholders with your actual API keys:\n\n   ```\n   OPEN_CAGE_KEY=your_opencagedata_api_key\n   OPEN_UV_KEY=your_openuv_api_key\n   ```\n\n**Running the Application**\n\n1. Start the development server:\n\n   ```bash\n   npm start\n   ```\n\n2. Open http://localhost:3000 in your web browser.\n\n**Usage**\n\n1. Enter valid latitude and longitude values in the input fields on the web page.\n2. Click the \"Submit\" button.\n\nThe application will retrieve the UV index data and location information for the specified coordinates and display it on the page.\n\n**Screenshots**\n\n* **Home Page:**  ![Home page screenshot](./public/images/homePage.png)\n* **Location fetching:** ![Home page screenshot](./public/images/locationPage.png)\n* **Guidelines:** ![Home page screenshot](./public/images/guidelines.png)\n* **QnA:** ![Home page screenshot](./public/images/lastPage.png)\n\n**Contributing**\n\nWe welcome contributions to this project! Feel free to fork the repository, make changes, and submit a pull request. Before contributing, please review the following guidelines:\n\n- Adhere to the existing code style and formatting.\n- Include clear and concise comments in your code.\n- Write unit tests for your changes.\n- Ensure your code passes all existing tests before submitting a pull request.\n\n\n**Additional Notes**\n\n- Error handling is included to gracefully handle invalid user input or API errors.\n- The code is well-structured and uses promises for asynchronous operations.\n- Feel free to customize the application further by adding features or changing the UI design.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivyansharma001%2Fuvprotect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdivyansharma001%2Fuvprotect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivyansharma001%2Fuvprotect/lists"}