Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/davgonsan/github-user-activity

A way to get the last GitHub User Activity from the CLI
https://github.com/davgonsan/github-user-activity

backend github-api js nestjs ts

Last synced: 6 days ago
JSON representation

A way to get the last GitHub User Activity from the CLI

Awesome Lists containing this project

README

        


Nest Logo

[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
[circleci-url]: https://circleci.com/gh/nestjs/nest

A progressive Node.js framework for building efficient and scalable server-side applications.



NPM Version
Package License
NPM Downloads
CircleCI
Coverage
Discord
Backers on Open Collective
Sponsors on Open Collective
Donate us
Support us
Follow us on Twitter


## GitHub User Activity CLI

This project is a Command-Line Interface (CLI) application built with NestJS that fetches and displays user activity data from the GitHub API. The application allows users to input a GitHub username, retrieves the latest activities for that user, and displays them in a structured format in the terminal.
See other projects and ideas in [roadmap.sh](https://roadmap.sh/projects/github-user-activity).

## Features
* Fetch GitHub Activity: Retrieves recent events such as repository watching, code pushes, and public activity for a specified GitHub user.
* Customizable Event Limit: Users can specify a maximum number of events to display, providing flexibility in the amount of data returned.
* Formatted Output: Each event is displayed with a clear timestamp, event type, and repository name to make the output easy to read.

## Error Handling: Gracefully handles various error scenarios
* Invalid usernames
* Exceeding the GitHub API rate limit
* Network and API errors with user-friendly messages

## Technical Details
* NestJS: A scalable and maintainable framework, ideal for structuring the CLI as a modular, testable application.
* TypeScript: Ensures type safety, improving code reliability and maintainability.
* date-fns: Formats event timestamps to make them human-readable.

## Project setup

```bash
$ npm install
```

## How to use
1. Run the Application: After compiling the project, run it from the terminal with:
```bash
node dist/main.js
```
Replace **username** with the GitHub username you want to check and **maxEvents** (optional) with the number of recent events to fetch.

2. Example:
```bash
npm run start:cli -- octocat 5
```

## Potential Future Enhancements
* Filter by Event Type: Allow users to specify event types they’re interested in (e.g., PushEvent).
* Save Output to File: Add an option to save activity logs to a file for later review.
* Extended Data: Retrieve additional details about each event, like commit messages or repository descriptions.

## Deployment

When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information.

If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps:

```bash
$ npm install -g mau
$ mau deploy
```

With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure.

## Resources

Check out a few resources that may come in handy when working with NestJS:

- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework.
- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy).
- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/).
- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks.
- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com).
- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com).
- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs).
- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).

## Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).

## License

Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE).