{"id":26267553,"url":"https://github.com/oslabs-beta/shepherd","last_synced_at":"2025-04-30T19:08:55.540Z","repository":{"id":45395736,"uuid":"431248014","full_name":"oslabs-beta/shepherd","owner":"oslabs-beta","description":"Shepherd is an easy-to-use open-source tool for developers to monitor your AWS Lambda functions at a glance.","archived":false,"fork":false,"pushed_at":"2022-02-01T17:48:24.000Z","size":35145,"stargazers_count":74,"open_issues_count":1,"forks_count":15,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-30T19:08:37.073Z","etag":null,"topics":["amazon","amazon-web-services","aws","aws-lambda","electron","electronforge","express","javascript","lambda","lambda-functions","mongo","mongodb","mongoose","nodejs","react","react-hooks","react-router","sdk","typescript"],"latest_commit_sha":null,"homepage":"","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/oslabs-beta.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-23T20:44:51.000Z","updated_at":"2024-10-04T09:56:41.000Z","dependencies_parsed_at":"2022-09-10T22:02:21.306Z","dependency_job_id":null,"html_url":"https://github.com/oslabs-beta/shepherd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Fshepherd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Fshepherd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Fshepherd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Fshepherd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oslabs-beta","download_url":"https://codeload.github.com/oslabs-beta/shepherd/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251767186,"owners_count":21640469,"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":["amazon","amazon-web-services","aws","aws-lambda","electron","electronforge","express","javascript","lambda","lambda-functions","mongo","mongodb","mongoose","nodejs","react","react-hooks","react-router","sdk","typescript"],"created_at":"2025-03-14T04:17:17.463Z","updated_at":"2025-04-30T19:08:55.518Z","avatar_url":"https://github.com/oslabs-beta.png","language":"JavaScript","readme":"\u003c!--\n*** This ReadMe document was insipred by the ReadMe template from\n*** https://github.com/othneildrew/Best-README-Template\n--\u003e\n\n\u003c!--\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cdiv  align=\"center\"\u003e\n\u003cimg src=\"src/assets/images/SHEPHERD-BANNER.png\" width=\"500px\"  align=\"center\"/\u003e\n\u003ch1\u003eAWS Serverless Function Monitoring Tool\u003c/h1\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails open=\"open\"\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n      \u003cli\u003e\u003ca href=\"#motivation-for-project\"\u003eAbout Shepherd\u003c/a\u003e\u003c/li\u003e \n      \u003cli\u003e\u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\u003c/li\u003e      \n      \u003cli\u003e\u003ca href=\"#aws-end-users\"\u003eAWS End Users\u003c/a\u003e\u003c/li\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#installation-and-setup\"\u003eInstallation and Setup\u003c/a\u003e\u003c/li\u003e      \n        \u003cli\u003e\u003ca href=\"#lambda-metrics\"\u003eLambda Metrics\u003c/a\u003e\u003c/li\u003e     \n        \u003cli\u003e\u003ca href=\"#user-profile\"\u003eUser Profile\u003c/a\u003e\u003c/li\u003e     \n      \u003c/ul\u003e\n      \u003cli\u003e\u003ca href=\"#developers\"\u003eDevelopers\u003c/a\u003e\u003c/li\u003e\n      \u003cul\u003e\n            \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e     \n            \u003cli\u003e\u003ca href=\"#project-setup\"\u003eProject Setup\u003c/a\u003e\u003c/li\u003e \n                  \u003c/ul\u003e\n    \u003cli\u003e\u003ca href=\"#contributors\"\u003eContributors\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n## About Shepherd\n\nServerless Applications are becoming increasingly popular as they relieve organizations and programmers from worrying about provisioning and maintaining the servers to just focusing on developing and deploying the code. It is also cost-effiecient in many scenarios as servers are running only when an event (for e.g. an API request) is triggered.\n\nAWS is a leading provider in the serverless applications space with AWS Lambda functions being its central component of the architecture. However, with AWS’ numerous services and extensive docs, it becomes challenging to navigate and can be intimidating to monitor and track the health of serverless applications.\n\nShepherd is a free, open-source monitoring tool that users can connect to their AWS account and easily track key metrics and logs. Here is a [medium](https://connor-gillis.medium.com/8ebe1964acea) article describing the philosophy behind Shepherd. The application can be downloaded [here](http://getshepherd.io/). \n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting Started\n\nThe following instructions are split into two sections for:\n\n- [AWS End Users](#aws-end-users)\n- [Developers](#developers)\n\n## AWS End Users\n\nThis section describes the instructions for AWS end users who would like to [download](https://http://getshepherd.io/) the application and connect their AWS account. For developers who would like to contribute to the open-source project, follow these [instructions](#developers).\n\n### Installation and Setup\n\n1. Download the Shepherd application [here](https://http://getshepherd.io/).\n2. Existing login using your email and password.\n3. For new users, click \"Signup\" to create a new user account.\n4. Assign a Cloud Formation Stack. \n5. Copy and paste the unique AWS ARN outputted from the prior step.\n6. Login with the registered credentials.\n7. Done!\n\n\u003cp  align=\"center\"\u003e\n\u003cimg src=\"src/assets/images/register.gif\" width=\"800px\" align=\"center\"/\u003e\n\u003c/br\u003e\n\u003cimg src=\"src/assets/images/aws.gif\" width=\"800px\" align=\"center\"/\u003e\n\u003c/p\u003e\n\nThe Shepherd application is preconfigured to track the main components of AWS serverless applications. Once the user is logged in these components can be visualized through the side navigation menu.\n\n### Lambda Metrics\n\nDisplays the aggregated metrics for their Lambda functions including: Throttles, Invocations, and Errors. The metric totals by Lambda function are also shown in tabular format. Users have an option to further visualize metrics for specific functions. Users can adjust the time period shown.\n\n\u003cp  align=\"center\"\u003e\n\u003cimg src=\"src/assets/images/login.gif\" width=\"800px\" align=\"center\"/\u003e\n\u003c/p\u003e\n\n\n\n\u003cp  align=\"center\"\u003e\n\u003cimg src=\"src/assets/images/metrics.gif\" width=\"800px\" align=\"center\"/\u003e\n\u003c/p\u003e\n\n\n\u003cp  align=\"center\"\u003e\n\u003cimg src=\"src/assets/images/functions.gif\" width=\"800px\" align=\"center\"/\u003e\n\u003c/p\u003e\n\n\n\n### User Profile\n\nUsers can update the profile and their ARN key, as well as their registered emails and passwords.\n\n## Developers\n\nThis section describes the instructions for developers who would like to download and contribute to the open-source Shepherd project. For AWS end users who would like to download the application and connect their AWS account, follow these [instructions](#aws-end-users) instead.\n\n### Built With\n\nThe Shepherd application was built using the following frameworks / libraries:\n\n- [React](https://reactjs.org/)\n- [ReactRouter](https://reactrouter.com/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [NodeJS](https://nodejs.org/en/)\n- [Express](https://expressjs.com/)\n- [MongoDB](https://www.mongodb.com/)\n- [Mongoose](https://mongoosejs.com/)\n- [Electron](https://www.electronjs.org/)\n\n### Project Setup\n\nRequired software for setting up this application:\n\n- [NodeJS](https://nodejs.org/en/)\n- [NPM ](https://www.npmjs.com/)\n\n1. Clone the repo.\n   ```sh\n   git clone https://github.com/oslabs-beta/shepherd.git\n   cd shepherd\n   ```\n2. Install the package dependencies.\n   ```sh\n   npm install\n   ```\n3. Update the `.env` file in the project root directory with the necessary credentials.\n   ```sh\n   AWS_ACCESS_KEY_ID= \n   AWS_SECRET_ACCESS_KEY=\n   MONGODB_URI=\n   ```\n4. The application can be run in development mode by running the following command and going to http://localhost:8080/ on your browser.\n\n   ```sh\n   npm run dev\n   ```\n\n5. Additionally, you can build and run the application (in Electron) with the following commands. This should start up the electron application.\n   ```sh\n   npm run build\n\n   npm run app\n   ```\n\n\u003c!-- CONTACT --\u003e\n\n## Contributors\n\n- Andrew Nguyen  - [Github](https://github.com/AndrewNguyenn) | [Linkedin](https://www.linkedin.com/in/andrewconannguyen/)\n- Michael Hoang -[Github](https://github.com/michaelhoang781) | [Linkedin](https://www.linkedin.com/in/michael-hoang-91b68632/)\n- Connor Gillis - [Github](https://github.com/connor-gillis) | [Linkedin](https://www.linkedin.com/in/connor-gillis/)\n- Baron Bugarcic - [Github](https://github.com/bugarcic) | [Linkedin](https://www.linkedin.com/in/baronbugarcic/)\n\nProject Links: [Github](https://github.com/oslabs-beta/shepherd) | [Linkedin](https://www.linkedin.com/company/shepherd-io) | [Press](https://connor-gillis.medium.com/8ebe1964acea)\n\n\u003c!-- LICENSE --\u003e\n\n## License\n\nDistributed under the MIT License.\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/oslabs-beta/shepherd.svg?style=for-the-badge\n[contributors-url]: https://github.com/oslabs-beta/shepherd/graphs/contributors\n[stars-shield]: https://img.shields.io/github/stars/oslabs-beta/shepherd.svg?style=for-the-badge\n[stars-url]: https://github.com/oslabs-beta/shepherd/stargazers\n[issues-shield]: https://img.shields.io/github/issues/oslabs-beta/shepherd.svg?style=for-the-badge\n[issues-url]: https://github.com/oslabs-beta/shepherd/issues\n[license-shield]: https://img.shields.io/github/license/oslabs-beta/shepherd.svg?style=for-the-badge\n[license-url]: https://github.com/oslabs-beta/shepherd/blob/master/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://www.linkedin.com/company/shepherd-io\n[product-screenshot]: client/src/Dashboard/assets/img/helios-blue-logo-t.png\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fshepherd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foslabs-beta%2Fshepherd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fshepherd/lists"}