{"id":15844477,"url":"https://github.com/devorein/ru102js-solutions","last_synced_at":"2025-07-03T21:37:31.610Z","repository":{"id":103488571,"uuid":"378991912","full_name":"Devorein/ru102js-solutions","owner":"Devorein","description":null,"archived":false,"fork":false,"pushed_at":"2021-06-22T14:32:04.000Z","size":1282,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-07T11:31:55.166Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/Devorein.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":"2021-06-21T16:16:02.000Z","updated_at":"2023-03-09T02:39:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"f7c6eafd-79dc-47ec-bc78-b9d6cb274425","html_url":"https://github.com/Devorein/ru102js-solutions","commit_stats":{"total_commits":38,"total_committers":3,"mean_commits":"12.666666666666666","dds":0.5,"last_synced_commit":"322980d846cc507d05151a6737736f7d7906a5ed"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devorein%2Fru102js-solutions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devorein%2Fru102js-solutions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devorein%2Fru102js-solutions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devorein%2Fru102js-solutions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Devorein","download_url":"https://codeload.github.com/Devorein/ru102js-solutions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246681930,"owners_count":20816980,"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":[],"created_at":"2024-10-05T17:22:41.564Z","updated_at":"2025-04-01T17:41:53.815Z","avatar_url":"https://github.com/Devorein.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RediSolar for Node.js\n\n# Introduction\n\nThis is the sample application codebase for RU102JS, [Redis for JavaScript Developers](https://university.redislabs.com/courses/ru102js/) at [Redis University](https://university.redislabs.com).\n\nSolutions to the course programming challenges can be found on the `solutions` branch.\n\n# Prerequisites\n\nIn order to start and run this application, you will need:\n\n* [Node.js](https://nodejs.org/en/download/) (8.9.4 or newer, we recommend using the current Long Term Stable version)\n* npm (installed with Node.js)\n* Access to a local or remote installation of [Redis](https://redis.io/download) version 5 or newer (local preferred)\n* If you want to try the RedisTimeSeries exercises, you'll need to make sure that your Redis installation also has the [RedisTimeSeries Module](https://oss.redislabs.com/redistimeseries/) installed\n\nIf you're using Windows, check out the following resources for help with running Redis:\n\n* [Redis Labs Blog - Running Redis on Windows 10](https://redislabs.com/blog/redis-on-windows-10/)\n* [Microsoft - Windows Subsystem for Linux Installation Guide for Windows 10](https://docs.microsoft.com/en-us/windows/wsl/install-win10)\n\n# Setup\n\nTo get started:\n\n```\n$ npm install\n```\n\n# Configuration \n\nThe application uses a configuration file, `config.json` to specify the port that it listens \non plus some logging parameters and how it connects to a database.  \n\nThe supplied `config.json` file is already set up to use Redis on localhost port 6379.  Change these values if your Redis instance is on another host or port, or requires a password to connect.\n\n```\n{\n  \"application\": {\n    \"port\": 8081,\n    \"logLevel\": \"debug\",\n    \"dataStore\": \"redis\"\n  },\n  \"dataStores\": {\n    \"redis\": {\n      \"host\": \"localhost\",\n      \"port\": 6379,\n      \"password\": null,\n      \"keyPrefix\": \"ru102js\"\n    }\n  }\n}\n```\n\nThe `keyPrefix` for Redis is used to namespace all the keys that the application generates or \nreferences.  So for example a key `sites:999` would be `ru102js:sites:999` when written to Redis.\n\n# Load Sample Data\n\nTo load sample site data and sample metrics, run:\n\n```\nnpm run load src/resources/data/sites.json flushdb\n```\n\n`flushdb` is optional, and will erase ALL data from Redis before inserting the sample data.\n\nThe application uses the key prefix `ru102js` by default, so you should be able to use the \nsame Redis instance for this application and other data if necessary.\n\n# Development Workflow\n\nIn order to speed up development, you can run the application using `nodemon`, so that any \nchanges to source code files cause the server to reload and start using your changes.\n\n```\nnpm run dev\n```\n\nEdit code, application will hot reload on save.\n\nIf you want to run without `nodemon`, use:\n\n```\nnpm start\n```\n\nBut you will then need to stop the server and restart it when you change code.\n\n# Accessing the Front End Web Application\n\nYou should be able to see the front end solar dashboard app at: \n\n```\nhttp://localhost:8081/\n```\n\n# Running Tests\n\nThe project is setup to use [Jest](https://jestjs.io/en/) for testing.  To run all tests:\n\n```\nnpm test\n```\n\nTo run a specific suite of tests (e.g. those in `tests/basic.test.js`):\n\n```\nnpm test -t basic\n```\n\nTo run Jest continuously in watch mode, which gives you access to menus allowing you to run \nsubsets of tests and many more options:\n\n```\nnpm testdev\n```\n\n# Linting\n\nThis project uses [ESLint](https://eslint.org/) with a slightly modified version of the \n[Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript).\n\n* The file `.eslintrc` contains a short list of rules that have been disabled for this project.\n* The file `.eslintignore` contains details of paths that the linter will not consider when \nlinting the project.\n\nTo run the linter:\n\n```\nnpm run lint\n```\n\n# Subscribe to our YouTube Channel\n\nWe'd love for you to [check out our YouTube channel](https://youtube.com/redislabs), and subscribe if you want to see more Redis videos!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevorein%2Fru102js-solutions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevorein%2Fru102js-solutions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevorein%2Fru102js-solutions/lists"}