|
1 | | -# 🌟 **GitHub Tracker** 🌟 |
| 1 | +# 🌟 GitHub Tracker 🌟 |
2 | 2 | <!-- top --> |
3 | 3 |
|
4 | | -**Track Activity of Users on GitHub** |
| 4 | +**Track GitHub User Activity Effortlessly** |
5 | 5 |
|
6 | | -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! 🚀👩💻 |
| 6 | +Welcome to **GitHub Tracker**, a web application designed to help you monitor and analyze GitHub user activity in a simple and efficient way. |
| 7 | +Whether you’re a developer, project manager, or just curious about contributions, this tool makes tracking repositories and activity seamless. 🚀👩💻 |
7 | 8 |
|
8 | 9 | <p align="center"> |
9 | | - <img src="public/crl.png" height="60px" alt="github-tracker"> |
| 10 | + <img src="public/crl.png" height="60px" alt="github-tracker" /> |
10 | 11 | </p> |
| 12 | + |
11 | 13 | <table align="center"> |
12 | | - <thead align="center"> |
13 | | - <tr border: 2px;> |
14 | | - <td><b>🌟 Stars</b></td> |
15 | | - <td><b>🍴 Forks</b></td> |
16 | | - <td><b>🐛 Issues</b></td> |
17 | | - <td><b>🔔 Open PRs</b></td> |
18 | | - <td><b>🔕 Close PRs</b></td> |
19 | | - </tr> |
20 | | - </thead> |
21 | | - <tbody> |
22 | | - <tr> |
23 | | - <td><img alt="Stars" src="https://img.shields.io/github/stars/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> |
24 | | - <td><img alt="Forks" src="https://img.shields.io/github/forks/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> |
25 | | - <td><img alt="Issues" src="https://img.shields.io/github/issues/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> |
26 | | - <td><img alt="Open Pull Requests" src="https://img.shields.io/github/issues-pr/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> |
27 | | - <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> |
28 | | - </tr> |
29 | | - </tbody> |
| 14 | + <thead align="center"> |
| 15 | + <tr> |
| 16 | + <td><b>🌟 Stars</b></td> |
| 17 | + <td><b>🍴 Forks</b></td> |
| 18 | + <td><b>🐛 Issues</b></td> |
| 19 | + <td><b>🔔 Open PRs</b></td> |
| 20 | + <td><b>🔕 Closed PRs</b></td> |
| 21 | + </tr> |
| 22 | + </thead> |
| 23 | + <tbody> |
| 24 | + <tr> |
| 25 | + <td><img alt="Stars" src="https://img.shields.io/github/stars/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> |
| 26 | + <td><img alt="Forks" src="https://img.shields.io/github/forks/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> |
| 27 | + <td><img alt="Issues" src="https://img.shields.io/github/issues/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> |
| 28 | + <td><img alt="Open PRs" src="https://img.shields.io/github/issues-pr/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> |
| 29 | + <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> |
| 30 | + </tr> |
| 31 | + </tbody> |
30 | 32 | </table> |
31 | 33 |
|
32 | 34 | --- |
33 | 35 |
|
34 | 36 | ## 🛠️ Tech Stack |
35 | 37 |
|
36 | | -- **Frontend**: React.js + Vite |
37 | | -- **Styling**: TailwindCSS + Material UI |
38 | | -- **Data Fetching**: Axios + React Query |
39 | | -- **Backend**: Node.js + Express |
| 38 | +- **Frontend:** React.js + Vite |
| 39 | +- **Styling:** TailwindCSS + Material UI |
| 40 | +- **Data Fetching:** Axios + React Query |
| 41 | +- **Backend:** Node.js + Express |
40 | 42 |
|
41 | 43 | --- |
42 | 44 |
|
43 | 45 | ## 🚀 Setup Guide |
44 | | -1. Clone the repository to your local machine: |
45 | | -```bash |
46 | | -$ git clone https://github.com/yourusername/github-tracker.git |
47 | | -``` |
48 | | - |
49 | | -2. Navigate to the project directory: |
50 | | -```bash |
51 | | -$ cd github-tracker |
52 | | -``` |
53 | 46 |
|
54 | | -3. Run the frontend |
| 47 | +### 1. Clone the repository |
55 | 48 | ```bash |
56 | | -$ npm i |
57 | | -$ npm run dev |
58 | | -``` |
59 | | - |
60 | | -4. Run the backend |
61 | | -```bash |
62 | | -$ npm i |
63 | | -$ npm start |
64 | | -``` |
65 | | - |
66 | | -## 🧪 Backend Unit & Integration Testing with Jasmine |
67 | | - |
68 | | -This project uses the Jasmine framework for backend unit and integration tests. The tests cover: |
69 | | -- User model (password hashing, schema, password comparison) |
70 | | -- Authentication routes (signup, login, logout) |
71 | | -- Passport authentication logic (via integration tests) |
72 | | - |
73 | | -### Prerequisites |
74 | | -- **Node.js** and **npm** installed |
75 | | -- **MongoDB** running locally (default: `mongodb://127.0.0.1:27017`) |
76 | | - |
77 | | -### Installation |
78 | | -Install all required dependencies: |
79 | | -```sh |
80 | | -npm install |
81 | | -npm install --save-dev jasmine @types/jasmine supertest express-session passport passport-local bcryptjs |
82 | | -``` |
83 | | - |
84 | | -### Running the Tests |
85 | | -1. **Start MongoDB** (if not already running): |
86 | | - ```sh |
87 | | - mongod |
88 | | - ``` |
89 | | -2. **Run Jasmine tests:** |
90 | | - ```sh |
91 | | - npx jasmine |
92 | | - ``` |
93 | | - |
94 | | -### Test Files |
95 | | -- `spec/user.model.spec.cjs` — Unit tests for the User model |
96 | | -- `spec/auth.routes.spec.cjs` — Integration tests for authentication routes |
97 | | - |
98 | | -### Jasmine Configuration |
99 | | -The Jasmine config (`spec/support/jasmine.mjs`) is set to recognize `.cjs`, `.js`, and `.mjs` test files: |
100 | | -```js |
101 | | -spec_files: [ |
102 | | - "**/*[sS]pec.?(m)js", |
103 | | - "**/*[sS]pec.cjs" |
104 | | -] |
105 | | -``` |
106 | | - |
107 | | -### Troubleshooting |
108 | | -- **No specs found:** Ensure your test files have the correct extension and are in the `spec/` directory. |
109 | | -- **MongoDB connection errors:** Make sure MongoDB is running and accessible. |
110 | | -- **Missing modules:** Install any missing dev dependencies with `npm install --save-dev <module>`. |
111 | | - |
112 | | -### What Was Covered |
113 | | -- Jasmine is set up and configured for backend testing. |
114 | | -- All major backend modules are covered by unit/integration tests. |
115 | | -- Tests are passing and verified. |
116 | | - |
117 | | ---- |
118 | | - |
119 | | -[](https://www.star-history.com/#GitMetricsLab/github_tracker&Date) |
120 | | - |
121 | | ---- |
122 | | - |
123 | | -# 👀 Our Contributors |
124 | | - |
125 | | -- We extend our heartfelt gratitude for your invaluable contribution to our project. |
126 | | -- Make sure you show some love by giving ⭐ to our repository. |
127 | | - |
128 | | -<div align="center"> |
129 | | - <a href="https://github.com/mehul-m-prajapati/github_tracker"> |
130 | | - <img src="https://contrib.rocks/image?repo=GitMetricsLab/github_tracker&&max=1000" /> |
131 | | - </a> |
132 | | -</div> |
133 | | - |
134 | | - |
135 | | - |
136 | | ---- |
137 | | - |
138 | | -<p align="center"> |
139 | | - <a href="#top" style="font-size: 18px; padding: 8px 16px; display: inline-block; border: 1px solid #ccc; border-radius: 6px; text-decoration: none;"> |
140 | | - ⬆️ Back to Top |
141 | | - </a> |
142 | | -</p> |
| 49 | +git clone https://github.com/yourusername/github-tracker.git |
0 commit comments