A whimsical, Ghibli-themed application to help you monitor your screen time and application usage, turning productivity into a delightful journey.
TotoroTracker is a full-stack application designed to provide a beautiful and intuitive interface for tracking your digital habits. It helps you stay mindful of your screen time by collecting usage data from your computer and displaying it on a web-based dashboard.
The project is composed of three main parts:
-
next-frontend: A modern, responsive web application built with Next.js and TypeScript. This is the user-facing dashboard where you can register, log in, and view your application usage visualized in elegant charts and graphs. -
adonis-backend: A robust REST API built with AdonisJS v6. This backend server handles user authentication, data storage, and serves the usage data to the frontend. It's connected to a PostgreSQL database to securely store user and application data. -
Python-Scripts: A simple Python script (ScreentimeFormatter.py) responsible for collecting application usage data from the user's local machine. This script can be run in the background to periodically send data to the backend API.
- User Authentication: Secure user registration and login system.
- Interactive Dashboard: A beautiful dashboard to visualize your screen time.
- Data Visualization: View your app usage through bar charts, line charts, and progress bars.
- Mindfulness Prompts: Gentle reminders and Ghibli-themed encouragement to help you manage your screen time effectively.
- Cross-Platform: A web-based dashboard accessible from any browser.
| Area | Technology |
|---|---|
| Frontend | Next.js, React, TypeScript, Tailwind CSS |
| Backend | AdonisJS, Node.js, TypeScript |
| Database | PostgreSQL |
| Data Script | Python |
To get a local copy up and running, follow these simple steps.
- Node.js (v18 or higher)
- npm
- Python
- PostgreSQL
-
Clone the repository:
git clone https://github.com/your-username/totorotracker.git cd totorotracker -
Setup the Backend (
adonis-backend):cd adonis-backend npm install cp .env.example .env # Update .env with your PostgreSQL database credentials node ace migration:run node ace db:seed
-
Setup the Frontend (
next-frontend):cd ../next-frontend npm install -
Run the development servers:
- In one terminal, run the backend:
cd adonis-backend npm run dev - In another terminal, run the frontend:
cd next-frontend npm run dev
- In one terminal, run the backend:
-
Run the Python script to start tracking data (you may need to configure it to point to your local backend API).
Open http://localhost:3000 in your browser to see the result!
Happy Tracking! โจ