Skip to content

Victorola-coder/emberpad

Repository files navigation

Emberpad - Social Goal Tracking Platform

A modern, beautiful goal tracking platform with social accountability features. Track your goals, share progress with friends, and achieve more together!

🌟 Features

Core Features

  • 🎯 Goal Management: Create, track, and update your personal goals
  • πŸ‘₯ Social Accountability: Follow friends and see their progress
  • 🌐 Explore Public Goals: Discover and get inspired by community goals
  • πŸ“Š Progress Tracking: Visual progress bars and analytics
  • πŸ”” Reminders: Send and receive encouragement from your network
  • πŸ’¬ Comments: Comment on goals to provide support and motivation
  • πŸ”— Share: Share goals on social media (Twitter, Facebook, LinkedIn, Email)
  • πŸ” Privacy Controls: Set goals as public, private, or friends-only
  • πŸ“± Responsive Design: Works beautifully on all devices
  • ✨ Beautiful UI: Modern design with smooth animations

New Features (Latest)

  • βœ… Explore Page: Browse all public goals from the community
  • βœ… Comment System: Add comments and encouragement to any goal
  • βœ… Share Functionality: Share goals via social media or copy link
  • βœ… Update Progress: Quick progress updates for your own goals
  • βœ… Advanced Filtering: Filter by trending, recent, category, and search
  • βœ… Navigation: Easy navigation between Dashboard, Explore, and Profile

πŸš€ Tech Stack

  • Frontend: Next.js 15, React 19, TypeScript
  • Styling: Tailwind CSS, Framer Motion
  • Backend: Next.js API Routes
  • Database: PostgreSQL with Prisma ORM
  • Authentication: JWT with bcrypt
  • Validation: Zod

πŸ“¦ Quick Start

Prerequisites

  • Node.js 18+ installed
  • PostgreSQL database running

Installation

  1. Install Dependencies
npm install
  1. Set Up Environment Variables Create a .env file:
DATABASE_URL="postgresql://user:password@localhost:5432/emberpad"
JWT_SECRET="your-secret-key-here"
  1. Set Up Database
npm run db:generate
npm run db:push
  1. Run Development Server
npm run dev

Open http://localhost:3000

πŸ“± Platform Navigation

Main Pages

  1. Home (/): Landing page with features and call-to-action

  2. Dashboard (/dashboard): Your personal goals dashboard

    • View your goals
    • Filter by category
    • Switch between "My Goals" and "Social Feed"
    • Create new goals
    • Search for users to follow
  3. Explore (/explore): Discover public goals

    • Browse all public goals from the community
    • Filter by trending, recent, or all
    • Filter by category
    • Search goals by title, description, or user
    • View community stats
  4. Profile (/profile): Your profile page

    • View your goals
    • See following/followers
    • Edit profile settings

Goal Card Actions

Each goal card has three main actions:

  1. Update Progress (Own goals only)

    • Click the progress bar or "Update" button
    • Set your current progress percentage
    • Instantly updates the visual progress bar
  2. Comment

    • Add encouragement or advice
    • Quick suggestion buttons for common messages
    • Comments are sent as check-ins
  3. Share

    • Copy link to clipboard
    • Share on Twitter, Facebook, LinkedIn
    • Send via email

πŸ”§ Recent Fixes & Improvements

Latest Updates βœ…

Goal Creation Fixed

  • βœ… Date format conversion (YYYY-MM-DD β†’ ISO 8601)
  • βœ… Error handling with user feedback
  • βœ… User ID filtering for "my goals" view
  • βœ… Payload formatting for optional fields

Explore Page Added

  • βœ… View all public goals from community
  • βœ… Advanced filtering (trending, recent, category)
  • βœ… Search functionality
  • βœ… Community statistics

Goal Card Enhancements

  • βœ… Comment functionality with modal
  • βœ… Share functionality with social media integration
  • βœ… Progress update with interactive modal
  • βœ… Conditional "Update" button for own goals only

Navigation Improvements

  • βœ… Added "Explore" link to header
  • βœ… Mobile-friendly navigation menu
  • βœ… Responsive design across all pages

Authentication Flow

  • βœ… Fixed race condition preventing login
  • βœ… Added auth loading states
  • βœ… Proper redirect handling

API Integration

  • βœ… Fixed all endpoint query parameters
  • βœ… Standardized response format handling
  • βœ… Added public goals endpoint

🎨 UI Components

Modals

  • CreateGoalModal: Create new goals with full customization
  • ProgressUpdateModal: Update goal progress
  • CommentModal: Add comments to goals
  • ShareModal: Share goals on social media
  • UserSearchModal: Find and follow users

UI Elements

  • Animated cards with hover effects
  • Progress bars with gradient colors
  • Category-based color coding
  • Responsive grid layouts
  • Loading states and skeletons

πŸ“Š Platform Status

βœ… Fully Functional

All core features are working:

  • βœ… User registration and login
  • βœ… Goal creation and display
  • βœ… Progress updates
  • βœ… Social feed
  • βœ… Public goals exploration
  • βœ… Follow/unfollow users
  • βœ… Send reminders
  • βœ… Comments on goals
  • βœ… Share goals
  • βœ… Profile management
  • βœ… Responsive UI
  • βœ… Search and filters

πŸ“š Documentation

πŸ” Environment Variables

Required:

  • DATABASE_URL: PostgreSQL connection string
  • JWT_SECRET: Secret key for JWT tokens

Optional:

  • NEXT_PUBLIC_SUPABASE_URL: For future Supabase features
  • NEXT_PUBLIC_SUPABASE_ANON_KEY: For future Supabase features

πŸ—ƒοΈ Database Commands

npm run db:generate  # Generate Prisma client
npm run db:push      # Push schema to database (dev)
npm run db:migrate   # Run migrations (prod)
npm run db:studio    # Open Prisma Studio

πŸ› Known Issues & Limitations

None currently! All major features are working.

🚦 Getting Started Guide

  1. Sign Up: Create an account at /auth/signup
  2. Log In: Sign in at /auth/login
  3. Create Goals: Click "Create Goal" on dashboard
  4. Explore: Visit /explore to see community goals
  5. Follow Users: Search and follow other users
  6. Track Progress: Update your goal progress regularly
  7. Engage: Comment and share goals for motivation

🀝 Contributing

This is a personal project, but suggestions are welcome!

πŸ“„ License

Private project - All rights reserved

🎯 Future Enhancements

Potential features for future versions:

  • Direct messaging between users
  • Goal templates
  • Achievement badges
  • Email notifications
  • Calendar integration
  • Mobile app (React Native)
  • Goal analytics and insights
  • Team/group goals
  • Public leaderboards

Built with ❀️ using Next.js, TypeScript, and modern web technologies.

About

lockin through out the ember months in 2025

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages