Skip to content

ALGOGUY09/consumed-media-tracker

Repository files navigation

Daily Consumption Tracker

Project Overview

  • Name: Daily Consumption Tracker
  • Goal: Ultra-simple personal website to quickly track daily media consumption with public sharing
  • Features: Streamlined logging, public read-only access, calendar view, analytics dashboard, and data export

URLs

Data Architecture

  • Data Models:
    • Users (id, username, password_hash, created_at)
    • Daily Items (id, title, media_type, media_url, notes, date_consumed, created_at, updated_at)
  • Storage Services: Cloudflare D1 SQLite database with local development support
  • Data Flow: Frontend → Hono API → D1 Database with dual-mode access (public read-only + admin full access)

Current Features ✅

Ultra-Simple Logging

  • Minimal Form: Only 5 fields - Title, Media Type, URL (optional), Date, Notes (optional)
  • Quick Entry: Add items in under 30 seconds
  • Smart Defaults: Auto-fills current date, optional fields can be skipped
  • Enhanced Media Types: 📚 Text, 🎧 Audio, 📹 Video with descriptive labels
  • No Complexity: Removed categories, ratings, and content descriptions for maximum speed

🌍 Public Access (No Login Required)

  • View All Items: Anyone can browse your consumption history
  • Simple Filtering: Filter by date and media type only
  • Calendar View: Monthly visualization of consumption patterns
  • Analytics Dashboard: Public statistics and charts
  • Read-Only Mode: Visitors can view but cannot edit or add items

🔐 Admin Features (Login Required)

  • Lightning Fast CRUD: Add, edit, and delete consumption items instantly
  • Private Management: Secure admin panel for content management
  • Data Export: Export all data as CSV or JSON files
  • Streamlined Analytics: Focus on core consumption metrics

📊 Enhanced Views

  • Clean List View: Simplified card-based layout without clutter
  • Calendar View: Monthly grid showing consumption density with color coding
  • Analytics View: Essential charts showing consumption patterns and trends

📈 Focused Analytics & Statistics

  • Total Items Count: Overview of consumption volume
  • Media Type Distribution: Pie chart of text/audio/video consumption
  • Activity Timeline: Line chart of recent consumption activity (30 days)
  • Weekly & Monthly Stats: Recent activity summaries
  • Active Days Tracking: Days with consumption activity

📤 Data Export

  • Simplified CSV Export: Clean spreadsheet format with essential fields only
  • Streamlined JSON Export: Machine-readable format without unnecessary data
  • Admin Only: Export functionality restricted to logged-in admin

🎨 Clean Interface

  • Red & White Theme: Elegant and consistent design
  • Responsive Design: Works perfectly on all devices
  • Smooth Animations: Hover effects and transitions
  • Tabbed Navigation: Easy switching between views
  • Minimal UI: Removed visual clutter for better focus

API Endpoints

Public Endpoints (No Auth Required)

  • GET /api/public/items - List all items (with date/media type filtering)
  • GET /api/public/stats - Get consumption statistics and analytics
  • GET /api/public/calendar - Get calendar data for visualization

Admin Endpoints (Auth Required)

  • POST /api/auth/login - Admin authentication (username: admin, password: play123)
  • POST /api/auth/logout - Admin logout
  • GET /api/auth/me - Check current admin session
  • GET /api/items - List all items (admin view with edit capabilities)
  • POST /api/items - Create new consumption item
  • GET /api/items/:id - Get specific item
  • PUT /api/items/:id - Update item
  • DELETE /api/items/:id - Delete item
  • GET /api/export/csv - Export data as CSV
  • GET /api/export/json - Export data as JSON

User Guide

👀 For Visitors (Public Access)

  1. Browse Content: Visit the site to see all consumption items
  2. Use Filters: Filter by date or media type to find specific content
  3. Calendar View: Click "Calendar View" to see consumption patterns by month
  4. View Analytics: Check the "Analytics" tab for consumption statistics and trends
  5. Read Details: View titles, media links, and notes for each item

👑 For Admin (Management Access)

  1. Login: Click "Admin Login" and use credentials (admin/play123)
  2. Quick Add: Click "Add Item" → Enter title → Select type → Save (30 seconds!)
  3. Optional Details: Add URL and notes only if needed
  4. Edit/Delete: Use edit/delete buttons on items for management
  5. Export Data: Use the "Export" dropdown to download CSV or JSON files
  6. Switch Views: Access both admin and public views easily

📱 Navigation

  • Items List: Default view showing all consumption items in clean cards
  • Calendar View: Monthly visualization of consumption activity with density colors
  • Analytics: Essential charts and statistics about consumption patterns

Simplification Changes ✨

Removed for Maximum Speed:

  • ❌ Category fields and filtering

  • ❌ Content/description text areas

  • ❌ Complex category analytics

Kept Only Essentials:

  • ✅ Title (what you consumed)
  • ✅ Media Type (text/audio/video)
  • ✅ URL (optional link)
  • ✅ Date (when consumed)
  • ✅ Notes (optional thoughts)

Features Not Yet Implemented

  • Advanced user management (multiple users, registration)
  • Bulk import functionality
  • Mobile app companion
  • Advanced search with full-text search
  • Automated content detection from URLs
  • Social sharing features

Recommended Next Steps

  1. Deploy to Production: Set up Cloudflare API key and deploy to Cloudflare Pages
  2. Custom Domain: Add a custom domain for public sharing
  3. Quick Actions: Add keyboard shortcuts for even faster logging
  4. Import Features: Allow importing from CSV/JSON files
  5. Mobile Optimization: Enhance mobile experience for on-the-go logging
  6. URL Metadata: Auto-fetch titles from provided URLs

Deployment

Development Commands

  • npm run dev:sandbox - Start development server in sandbox
  • npm run build - Build for production
  • npm run db:migrate:local - Apply database migrations locally
  • npm run db:seed - Seed database with test data
  • npm run db:reset - Reset local database and reseed

Security Notes

  • Public Access: All consumption data is publicly viewable by design
  • Admin Protection: Management features require authentication
  • Session Security: Admin sessions use secure HTTP-only cookies

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors