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! ππ©βπ»
π Stars | π΄ Forks | π Issues | π Open PRs | π Close PRs |
- Frontend: React.js + Vite
- Styling: TailwindCSS + Material UI
- Data Fetching: Axios + React Query
- Backend: Node.js + Express
- Clone the repository to your local machine:
$ git clone https://github.com/yourusername/github-tracker.git
- Navigate to the project directory:
$ cd github-tracker
- Run the frontend
$ npm i
$ npm run dev
- Run the backend
$ npm i
$ npm start
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)
- Node.js and npm installed
- MongoDB running locally (default:
mongodb://127.0.0.1:27017
)
Install all required dependencies:
npm install
npm install --save-dev jasmine @types/jasmine supertest express-session passport passport-local bcryptjs
- Start MongoDB (if not already running):
mongod
- Run Jasmine tests:
npx jasmine
spec/user.model.spec.cjs
β Unit tests for the User modelspec/auth.routes.spec.cjs
β Integration tests for authentication routes
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"
]
- 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>
.
- Jasmine is set up and configured for backend testing.
- All major backend modules are covered by unit/integration tests.
- Tests are passing and verified.
- We extend our heartfelt gratitude for your invaluable contribution to our project.
- Make sure you show some love by giving β to our repository.