Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
153 changes: 30 additions & 123 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,142 +1,49 @@
# 🌟 **GitHub Tracker** 🌟
# 🌟 GitHub Tracker 🌟
<!-- top -->

**Track Activity of Users on GitHub**
**Track GitHub User Activity Effortlessly**

Welcome to **GitHub Tracker**, a web app designed to help you monitor and analyze the activity of GitHub users. Whether you’re a developer, a project manager, or just curious, this tool simplifies tracking contributions and activity across repositories! 🚀👩‍💻
Welcome to **GitHub Tracker**, a web application designed to help you monitor and analyze GitHub user activity in a simple and efficient way.
Whether you’re a developer, project manager, or just curious about contributions, this tool makes tracking repositories and activity seamless. 🚀👩‍💻

<p align="center">
<img src="public/crl.png" height="60px" alt="github-tracker">
<img src="public/crl.png" height="60px" alt="github-tracker" />
</p>

<table align="center">
<thead align="center">
<tr border: 2px;>
<td><b>🌟 Stars</b></td>
<td><b>🍴 Forks</b></td>
<td><b>🐛 Issues</b></td>
<td><b>🔔 Open PRs</b></td>
<td><b>🔕 Close PRs</b></td>
</tr>
</thead>
<tbody>
<tr>
<td><img alt="Stars" src="https://img.shields.io/github/stars/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td>
<td><img alt="Forks" src="https://img.shields.io/github/forks/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td>
<td><img alt="Issues" src="https://img.shields.io/github/issues/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td>
<td><img alt="Open Pull Requests" src="https://img.shields.io/github/issues-pr/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td>
<td><img alt="Closed Pull Requests" src="https://img.shields.io/github/issues-pr-closed/mehul-m-prajapati/github_tracker?style=flat&color=critical&logo=github"/></td>
</tr>
</tbody>
<thead align="center">
<tr>
<td><b>🌟 Stars</b></td>
<td><b>🍴 Forks</b></td>
<td><b>🐛 Issues</b></td>
<td><b>🔔 Open PRs</b></td>
<td><b>🔕 Closed PRs</b></td>
</tr>
</thead>
<tbody>
<tr>
<td><img alt="Stars" src="https://img.shields.io/github/stars/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td>
<td><img alt="Forks" src="https://img.shields.io/github/forks/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td>
<td><img alt="Issues" src="https://img.shields.io/github/issues/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td>
<td><img alt="Open PRs" src="https://img.shields.io/github/issues-pr/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td>
<td><img alt="Closed PRs" src="https://img.shields.io/github/issues-pr-closed/mehul-m-prajapati/github_tracker?style=flat&color=critical&logo=github"/></td>
Comment on lines +25 to +29
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Badge links point to a different repository (Lines 25-29).

All shields are tied to mehul-m-prajapati/github_tracker, which makes this README show another repo’s stats. Update them to this repository so stars/forks/issues/PR counts are accurate.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 25 - 29, The badge image src attributes for the
Shields (Stars, Forks, Issues, Open PRs, Closed PRs) currently point to
mehul-m-prajapati/github_tracker; update each img src URL so the repository path
matches this repository (replace mehul-m-prajapati/github_tracker with the
current repo owner/name) so the Stars, Forks, Issues, Open PRs and Closed PRs
badges reflect this repo's stats (edit the five <img> tags shown in the diff:
the Stars, Forks, Issues, Open PRs and Closed PRs badge src attributes).

</tr>
</tbody>
</table>

---

## 🛠️ Tech Stack

- **Frontend**: React.js + Vite
- **Styling**: TailwindCSS + Material UI
- **Data Fetching**: Axios + React Query
- **Backend**: Node.js + Express
- **Frontend:** React.js + Vite
- **Styling:** TailwindCSS + Material UI
- **Data Fetching:** Axios + React Query
- **Backend:** Node.js + Express

---

## 🚀 Setup Guide
1. Clone the repository to your local machine:
```bash
$ git clone https://github.com/yourusername/github-tracker.git
```

2. Navigate to the project directory:
```bash
$ cd github-tracker
```

3. Run the frontend
### 1. Clone the repository
```bash
$ npm i
$ npm run dev
```

4. Run the backend
```bash
$ npm i
$ npm start
```

## 🧪 Backend Unit & Integration Testing with Jasmine

This project uses the Jasmine framework for backend unit and integration tests. The tests cover:
- User model (password hashing, schema, password comparison)
- Authentication routes (signup, login, logout)
- Passport authentication logic (via integration tests)

### Prerequisites
- **Node.js** and **npm** installed
- **MongoDB** running locally (default: `mongodb://127.0.0.1:27017`)

### Installation
Install all required dependencies:
```sh
npm install
npm install --save-dev jasmine @types/jasmine supertest express-session passport passport-local bcryptjs
```

### Running the Tests
1. **Start MongoDB** (if not already running):
```sh
mongod
```
2. **Run Jasmine tests:**
```sh
npx jasmine
```

### Test Files
- `spec/user.model.spec.cjs` — Unit tests for the User model
- `spec/auth.routes.spec.cjs` — Integration tests for authentication routes

### Jasmine Configuration
The Jasmine config (`spec/support/jasmine.mjs`) is set to recognize `.cjs`, `.js`, and `.mjs` test files:
```js
spec_files: [
"**/*[sS]pec.?(m)js",
"**/*[sS]pec.cjs"
]
```

### Troubleshooting
- **No specs found:** Ensure your test files have the correct extension and are in the `spec/` directory.
- **MongoDB connection errors:** Make sure MongoDB is running and accessible.
- **Missing modules:** Install any missing dev dependencies with `npm install --save-dev <module>`.

### What Was Covered
- Jasmine is set up and configured for backend testing.
- All major backend modules are covered by unit/integration tests.
- Tests are passing and verified.

---

[![Star History Chart](https://api.star-history.com/svg?repos=GitMetricsLab/github_tracker&type=Date)](https://www.star-history.com/#GitMetricsLab/github_tracker&Date)

---

# 👀 Our Contributors

- We extend our heartfelt gratitude for your invaluable contribution to our project.
- Make sure you show some love by giving ⭐ to our repository.

<div align="center">
<a href="https://github.com/mehul-m-prajapati/github_tracker">
<img src="https://contrib.rocks/image?repo=GitMetricsLab/github_tracker&&max=1000" />
</a>
</div>



---

<p align="center">
<a href="#top" style="font-size: 18px; padding: 8px 16px; display: inline-block; border: 1px solid #ccc; border-radius: 6px; text-decoration: none;">
⬆️ Back to Top
</a>
</p>
git clone https://github.com/yourusername/github-tracker.git
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix the repository URL in clone command (Line 49).

https://github.com/yourusername/github-tracker.git is a placeholder and likely wrong for this project, so users may clone a non-existent repo. Use the actual repository path (and correct repo slug format) here.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 49, Replace the placeholder clone URL "git clone
https://github.com/yourusername/github-tracker.git" with the actual repository
slug for this project (for example "git clone
https://github.com/<org-or-username>/<actual-repo-name>.git"); locate the exact
string "git clone https://github.com/yourusername/github-tracker.git" in
README.md and update it to the correct repository path and name so users can
successfully clone the real repo.

Loading