Skip to content

kanchn-https/github_tracker

 
 

Repository files navigation

🌟 GitHub Tracker 🌟

Track Activity of Users on GitHub

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! 🚀👩‍💻

github-tracker

🌟 Stars 🍴 Forks 🐛 Issues 🔔 Open PRs 🔕 Close PRs
Stars Forks Issues Open Pull Requests Closed Pull Requests

🛠️ Tech Stack

  • 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:
$ git clone https://github.com/yourusername/github-tracker.git
  1. Navigate to the project directory:
$ cd github-tracker
  1. Run the frontend
$ npm i
$ npm run dev
  1. Run the backend
$ 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:

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):
    mongod
  2. Run Jasmine tests:
    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:

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.

👀 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.

⬆️ Back to Top

About

A web app designed to help you monitor and analyze the activity of GitHub users

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 83.7%
  • JavaScript 14.9%
  • Other 1.4%