A full stack personal tracking application built with Node.js, Express, and SQLite. This project allows users to log daily moods and productivity scores via an API and visualize them through a clean, modern web dashboard
-
Full-Stack Integration: Connects a vanilla JS frontend to a Node.js backend
-
Persistent Storage: Data is stored locally in a SQLite database
-
Search Filtering: Filter logs by mood in real time on the dashboard
-
Technical Insights: Toggleable views to see underlying database IDs
checkIn-API/ ├── data/ │ └── test.sqlite # SQLite database storage ├── public/ │ ├── index.html # Dashboard UI │ ├── style.css # Custom RGB-based styling │ └── script.js # Frontend logic & API fetching ├── src/ │ ├── database.js # SQLite connection & schema │ └── server.js # Express API routes & middleware ├── .gitignore # Files to exclude from Git (node_modules, etc) ├── LICENSE # Project license ├── package.json # Project dependencies └── README.md # Project documentation
Node.js installed on your machine
clone this repo https://github.com/Basliel-Sisay/checkIn-API Navigate to the project directory: cd checkIn-API Install dependencies: npm install
node src/server.js
The server will start on http://localhost:3000
Open your browser and navigate to:
| Method | Endpoint | Description |
|---|---|---|
| GET | /history | Returns all check-in logs as JSON |
| POST | /checkin | Saves a new mood and productivity score |
| DELETE | /checkin/:id | Removes a specific log by ID |
Invoke-RestMethod -Uri http://localhost:3000/checkin `
-Method Post `
-Body '{"mood": "Productive", "productivity": 9}' `
-ContentType "application/json"
This project is licensed under the LICENSE file




