8000 GitHub - Zulelee/routine: A personal productivity and wellness web application Β· GitHub
[go: up one dir, main page]

Skip to content

Zulelee/routine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Routine

A productivity and wellness web application built with Next.js, designed to help you manage daily tasks, track health habits, maintain a daily journal, and review your weekly progress.

🎯 Why I Built Routine

I built Routine because I struggle with ADHD and find it incredibly difficult to stay focused and productive. Like many others, I've tried countless productivity and to-do apps, only to abandon them after 2-3 days because they never quite had everything I needed.

The Problem

  • Procrastination: I constantly stress about my tasks but only complete them when deadlines a 8000 re looming
  • Scattered focus: Traditional apps don't address the specific challenges of ADHD
  • Abandonment cycle: I'd start using an app, realize it's missing something crucial, and give up

The Solution

I decided to build my own productivity tool for two key reasons:

  1. Ownership & Customization: Since I built it, I can enhance it whenever I feel something is missing. Instead of abandoning the tool, I can add the features I need.

  2. Community Impact: I believe there are many others like me who struggle with focus and productivity. This app is open to the community - anyone can contribute features they think are missing.

What Makes Routine Different

  • Built by someone who understands the struggle: Every feature is designed with ADHD and focus challenges in mind
  • Comprehensive approach: Combines task management, health tracking, journaling, and reflection
  • Flexible and extensible: Easy to add new features as needs evolve
  • Community-driven: Open to contributions from others who face similar challenges

Routine is more than just another productivity app - it's a tool built by someone who lives with the daily challenges of staying focused and organized.

✨ Features

🎯 Daily Task Management

  • Create, edit, and delete tasks with priorities and status tracking
  • Pin important tasks to the top
  • Auto-carry incomplete tasks from yesterday to today
  • Drag-and-drop reordering (frontend only)
  • Task completion tracking with progress visualization

πŸ’§ Health & Wellness Tracking

  • Water Intake: Track daily water consumption (0-8 glasses)
  • Exercise: Mark daily exercise completion
  • Sleep: Optional sleep hours tracking
  • Mood: Daily mood tracking with emoji selection

πŸ“ Daily Journaling

  • Write daily reflections and thoughts
  • Mood tracking with visual indicators
  • Expandable journal interface with writing prompts
  • Historical journal entry browsing

πŸ“Š Weekly Reviews

  • Automatic weekly statistics generation
  • Task completion rates and rollover tracking
  • Health metrics averaging
  • Personalized insights and recommendations

πŸ“… Calendar View

  • Monthly calendar with activity indicators
  • Color-coded dots for tasks, journal entries, and health data
  • Quick overview of daily activities
  • Historical data visualization

πŸ”§ Settings & Customization

  • Theme switching (light/dark mode)
  • Notification preferences
  • Data export/import capabilities
  • App configuration options

πŸ›  Tech Stack

  • Frontend: Next.js 14 (App Router), React, TypeScript
  • Styling: Tailwind CSS, shadcn/ui components
  • Database: Neon Postgres with Prisma ORM
  • Deployment: Vercel (Frontend) + Neon (Database)
  • Icons: Lucide React
  • Date Handling: date-fns

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Neon Postgres database account

Installation

  1. Clone the repository

    git clone <repository-url>
    cd task-scheduler
  2. Install dependencies

    npm install
  3. Set up environment variables Create a .env.local file in the root directory:

    DATABASE_URL="your-neon-postgres-connection-string"
  4. Set up the database

    # Generate Prisma client
    npm run db:generate
    
    # Push schema to database
    npm run db:push
    
    # Seed with sample data
    npm run db:seed
  5. Start the development server

    npm run dev
  6. Open your browser Navigate to http://localhost:3000

πŸ“± Usage

Daily Workflow

  1. Today Page: Start your day by viewing today's tasks and health tracking
  2. Add Tasks: Create new tasks with priorities and descriptions
  3. Track Health: Update water intake, exercise, and mood
  4. Journal: Write daily reflections and thoughts
  5. End Day: Review your progress and plan for tomorrow

Navigation

  • 🏠 Today: Main dashboard with tasks and health tracking
  • πŸ“… Calendar: Monthly view with activity indicators
  • πŸ“Š Weekly: Weekly statistics and insights
  • πŸ“ Journal: Historical journal entries and mood tracking
  • βš™οΈ Settings: App configuration and preferences

Key Features

  • Auto-carry: Incomplete tasks automatically carry forward to the next day
  • Real-time Updates: All changes save automatically
  • Responsive Design: Works seamlessly on desktop and mobile
  • Clean UI: Modern, minimalist interface inspired by Notion

πŸ—„ Database Schema

Core Tables

  • users: User accounts (single user for now)
  • tasks: Daily tasks with status, priority, and pinning
  • daily_logs: Health tracking and journal entries
  • weekly_reviews: Automated weekly statistics

Key Relationships

  • All data is associated with a single user (ID: 'me')
  • Tasks are linked to specific dates
  • Daily logs have unique constraints per user/date
  • Weekly reviews are generated automatically

πŸš€ Deployment

Frontend (Vercel)

  1. Connect your GitHub repository to Vercel
  2. Set environment variables in Vercel dashboard
  3. Deploy automatically on push to main branch

Database (Neon)

  1. Create a Neon Postgres project
  2. Get your connection string
  3. Update environment variables
  4. Run database migrations

Environment Variables

DATABASE_URL="postgresql://user:password@host:port/database"

πŸ”§ Development

Available Scripts

npm run dev          # Start development server
npm run build        # Build for production
npm run start        # Start production server
npm run lint         # Run ESLint
npm run db:generate  # Generate Prisma client
npm run db:push      # Push schema to database
npm run db:seed      # Seed datab
7C79
ase with sample data

Project Structure

task-scheduler/
β”œβ”€β”€ app/                    # Next.js App Router pages
β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”œβ”€β”€ calendar/          # Calendar page
β”‚   β”œβ”€β”€ journal/           # Journal page
β”‚   β”œβ”€β”€ settings/          # Settings page
β”‚   β”œβ”€β”€ weekly/            # Weekly review page
β”‚   └── page.tsx           # Today page (home)
β”œβ”€β”€ components/            # React components
β”‚   β”œβ”€β”€ ui/               # shadcn/ui components
β”‚   β”œβ”€β”€ navigation.tsx    # Main navigation
β”‚   β”œβ”€β”€ task-card.tsx     # Task display component
β”‚   β”œβ”€β”€ task-form.tsx     # Task creation/editing
β”‚   β”œβ”€β”€ health-tracker.tsx # Health tracking component
β”‚   └── journal-entry.tsx # Journal component
β”œβ”€β”€ lib/                  # Utility functions
β”‚   β”œβ”€β”€ db.ts            # Database client
β”‚   β”œβ”€β”€ types.ts         # TypeScript types
β”‚   └── utils.ts         # Utility functions
β”œβ”€β”€ prisma/              # Database schema and migrations
β”‚   β”œβ”€β”€ schema.prisma    # Database schema
β”‚   └── seed.ts          # Database seeding
└── public/              # Static assets

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ž Support

If you have any questions or need help, please open an issue on GitHub.


Built with ❀️ using Next.js, TypeScript, and Tailwind CSS

About

A personal productivity and wellness web application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

0