A modern, beautiful goal tracking platform with social accountability features. Track your goals, share progress with friends, and achieve more together!
- π― 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
- β 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
- 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
- Node.js 18+ installed
- PostgreSQL database running
- Install Dependencies
npm install- Set Up Environment Variables
Create a
.envfile:
DATABASE_URL="postgresql://user:password@localhost:5432/emberpad"
JWT_SECRET="your-secret-key-here"- Set Up Database
npm run db:generate
npm run db:push- Run Development Server
npm run dev-
Home (
/): Landing page with features and call-to-action -
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
-
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
-
Profile (
/profile): Your profile page- View your goals
- See following/followers
- Edit profile settings
Each goal card has three main actions:
-
Update Progress (Own goals only)
- Click the progress bar or "Update" button
- Set your current progress percentage
- Instantly updates the visual progress bar
-
Comment
- Add encouragement or advice
- Quick suggestion buttons for common messages
- Comments are sent as check-ins
-
Share
- Copy link to clipboard
- Share on Twitter, Facebook, LinkedIn
- Send via email
- β 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
- β View all public goals from community
- β Advanced filtering (trending, recent, category)
- β Search functionality
- β Community statistics
- β Comment functionality with modal
- β Share functionality with social media integration
- β Progress update with interactive modal
- β Conditional "Update" button for own goals only
- β Added "Explore" link to header
- β Mobile-friendly navigation menu
- β Responsive design across all pages
- β Fixed race condition preventing login
- β Added auth loading states
- β Proper redirect handling
- β Fixed all endpoint query parameters
- β Standardized response format handling
- β Added public goals endpoint
- 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
- Animated cards with hover effects
- Progress bars with gradient colors
- Category-based color coding
- Responsive grid layouts
- Loading states and skeletons
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
- SETUP_GUIDE.md - Detailed setup and troubleshooting
- prd.txt - Complete product requirements document
Required:
DATABASE_URL: PostgreSQL connection stringJWT_SECRET: Secret key for JWT tokens
Optional:
NEXT_PUBLIC_SUPABASE_URL: For future Supabase featuresNEXT_PUBLIC_SUPABASE_ANON_KEY: For future Supabase features
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 StudioNone currently! All major features are working.
- Sign Up: Create an account at
/auth/signup - Log In: Sign in at
/auth/login - Create Goals: Click "Create Goal" on dashboard
- Explore: Visit
/exploreto see community goals - Follow Users: Search and follow other users
- Track Progress: Update your goal progress regularly
- Engage: Comment and share goals for motivation
This is a personal project, but suggestions are welcome!
Private project - All rights reserved
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.