A Windows desktop application that tracks mouse clicks and keyboard presses, with real-time synchronization to a MongoDB database through a Node.js backend.
Initial build is DONE and running smoothly on the local! But the MongoDB connections and sync? Totally mashed up π π§ I'll fix it when I get some time. But hey, y'all feel free to drop a PR! π
I've noticed that many developers and tech enthusiasts showcase their coding time, stats, matrices, and even Spotify activity. But why not share the total key & click count? That's the main thing! π I tried to find a tool like this, but nothing fit what I had in mind.
If the open-source community is ready to flex their fingers, then let's create apps for Mac, Windows, and Android as well. ππ»ππ»ππ»ππ»ππ»ππ»ππ»ππ»ππ»ππ» Oh, are you typing like this? Haha! ππ»ππ»ππ»ππ»ππ»ππ»ππ»ππ»ππ»ππ»ππ»ππ»
- Real-time tracking of mouse clicks and keyboard presses
- User authentication (login/register)
- Background synchronization of statistics
- Minimizes to system tray
- Server-side data storage with MongoDB
- REST API backend with Node.js
- Secure authentication with JWT
- Windows OS
- .NET Framework 4.7.2 or later
- Visual Studio 2019 or later (for development)
- Node.js 14.x or later
- MongoDB 4.x or later
- npm or yarn package manager
- Navigate to the
api-serverdirectory - Install dependencies:
npm install
- Create a
.envfile with the following variables:MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key PORT=3000
- Start the server:
npm start
- Open the solution in Visual Studio
- Restore NuGet packages
- Build the solution
- Configure the
App.configwith your server URL:<appSettings> <add key="ApiEndpoint" value="http://localhost:3000/api" /> </appSettings>
- Launch the application
- Register a new account or login with existing credentials
- The application will start tracking mouse clicks and keyboard presses
- Statistics are automatically synced to the server every minute
- Minimize to system tray to keep tracking in background
- Access settings to configure server URL or logout
ClickCounterApp/
βββ Forms/ # Windows Forms UI
βββ Models/ # Data models
βββ Services/ # Business logic and services
βββ Helpers/ # Utility classes
βββ api-server/ # Node.js backend
βββ src/
β βββ models/ # MongoDB schemas
β βββ routes/ # API endpoints
β βββ utils/ # Utility functions
βββ tests/ # API tests
POST /api/auth/register- Register new userPOST /api/auth/login- User loginPOST /api/clicks- Save click dataGET /api/view/stats- View user statistics
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This repository is licensed under a ο»ΏCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. For more information, see the ο»ΏLICENSE file.
- MongoDB for database
- Node.js for backend
- .NET Framework for Windows Forms
- JWT for authentication