Skip to content

GitMetricsLab/github_tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🌟 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

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 24