TODO - Project Task List v1.0
October 28, 2025 ยท View on GitHub
A human-readable list of tasks and improvements for the Bitinfrashop - Bitcoin Subscription Management platform.
๐ฏ Future Enhancements
Backend & Data Integrity
- BTCPay Store ID persistence: Add
btcpayStoreIdfield to Shop model in database- Update
src/app/api/stores/[serverId]/route.tsto match on store ID instead of names - Ensures accurate "hasActiveSubscription" detection
- Update
- API consistency: Standardize naming convention across backend and frontend
- Convert all
server-prisma.tsresponses to use snake_case - Update pages like
src/app/infrastructure/page.tsxto match API format - Remove camelCase/snake_case mixing throughout the codebase
- Convert all
Security & Authentication
- Password handling fix: Remove
sanitizeStringcalls before password hashing- Fix
src/app/api/auth/login/route.tsto preserve password characters - Fix
src/app/api/auth/register/route.tsto preserve password characters - Currently strips
</>characters and trims, which mangles credentials
- Fix
- Auth module consolidation: Remove legacy
src/lib/auth.tsfile- Point all imports to
auth-prisma.tsfor single source of truth - Resolve type mismatches in client context caused by mixed imports
- Point all imports to
UI Design System
- Professional color palette refresh: Update
tailwind.config.jswith refined colors- Primary: Deep navy
#14213D - Accent: Bitcoin orange
#F7931A - Support: Professional teal
#2A9D8F - Neutrals: Light gray
#F4F6F8and dark gray#1F2933 - Remove current neon gradients for calmer light/dark themes
- Primary: Deep navy
- Button styling normalization: Consistent button design across all pages
- Apply new palette with flat fills and subdued shadows
- Standardize sizing and spacing (remove hover scale/gradient jumps)
- Update
src/app/page.tsx,src/components/TopBar.tsx, and auth forms
- Icon system upgrade: Replace emoji icons with professional icon set
- Replace emoji tab icons in
src/app/settings/page.tsxwith Heroicons - Tighten spacing for more professional appearance
- Remove playful emoji bullets from marketing sections
- Replace emoji tab icons in
Page-Level Improvements
- Homepage marketing refresh: Rework
src/app/page.tsxlayout- Rely on stronger typography and whitespace
- Use real product imagery instead of stacked emoji cards
- Reduce accent colors per section for cleaner look
- Card component standardization: Update infrastructure and dashboard cards
- Create single unified card component
- Implement quieter hover states with solid borders
- Align iconography across
src/app/infrastructure/page.tsxandsrc/app/dashboard/page.tsx
- Secondary pages audit: Polish auth and management pages
- Remove green/blue gradients from
src/app/login/page.tsxandsrc/app/register/page.tsx - Switch CTA buttons to new primary color
- Add heading/subheading pairs matching home hero style
- Update
src/app/nwc-management/page.tsxfor consistency
- Remove green/blue gradients from
Contact & Communication
- Contact functionality: Implement "Contact Admin" and "Contact Shop" buttons
- Add contact modal or email integration
- Store contact preferences in user profiles
- Enable messaging between shop owners and server providers
โ Recently Completed - Version 1.0 (September 2025)
Major UI Improvements
- โ
Interactive button effects: Added magnetic pull, glow, icon rotation, shadow pulse, and color wave effects
- All buttons now have hover animations for engaging user experience
- Smooth transitions using CSS transforms for optimal performance
- โ
Typography refresh: Replaced Geist fonts with Manrope + Roboto Mono
- Warmer, community-friendly font combination
- Professional sans-serif paired with clean monospace for technical content
- โ
Avatar system: Implemented themed icons for servers and shops
- Automatic 2-letter initials from names
- Soft slate-based gradients with emerald (servers) and orange (shops) accents
- Squared corners with slight rounding for modern look
- Support for future image uploads
- โ
Shop descriptions: Added description field to shop listings
- Updated Prisma schema with description field
- Modified all shop functions to include descriptions
- Display descriptions at end of shop cards matching server format
- โ
Server listing enhancements: Added owner and lightning address information
- Server cards now show owner username
- Display creation date and lightning address
- Consistent information display matching shop listings
- โ
Login button gradient: Fixed gradient to end with dark blue
#101828- Replaced black ending with proper dark blue matching login page background
- Maintains blue finish on hover state
- โ
Button redesign: Replaced text links with styled action buttons
- "More Details" buttons with themed gradients
- "Contact Admin" and "Contact Shop" buttons added
- "Manage Server" and "Manage Shop" buttons for user's own items
- Consistent sizing and professional appearance across all listings
Technical Infrastructure
- โ
Google OAuth integration: Added NextAuth.js with Google provider
- Complete OAuth flow implementation
- Prisma schema updates for Account, Session, and VerificationToken models
- Optional configuration based on environment variables
- Comprehensive setup documentation in
GOOGLE_OAUTH_SETUP.md
- โ
Database schema improvements: Enhanced Shop and Server models
- Added description field to shops
- Added owner_username to shop interfaces
- Improved query efficiency with proper relations
- โ
Color palette system: Established professional color scheme
- Custom Tailwind colors for BTCPay servers (green tones)
- Custom colors for shops (orange tones)
- Login-specific blue colors (
#101828) - Consistent gradient system across all buttons
Code Quality & Organization
- โ
Commit message standards: Enforced conventional commits format
- Using
feat:,fix:,chore:prefixes - Maximum 140 characters per commit message
- Single sentence descriptions for clarity
- Using
- โ
Component architecture: Created reusable Avatar component
- Type-safe props with TypeScript
- Flexible sizing (sm, md, lg)
- Theme-aware with server/shop type distinction
๐ Development Notes
Design Principles
- Simplicity first: Keep interfaces clean and intuitive
- Professional aesthetics: Avoid playful elements in favor of trust and credibility
- Consistency: Maintain uniform styling across all pages and components
- Performance: Use CSS transforms for animations, avoid heavy JavaScript
- Accessibility: Ensure all interactive elements are keyboard accessible
Technical Standards
- TypeScript everywhere: No JavaScript files in source code
- Prisma best practices: Use proper relations and snake_case for database fields
- Tailwind conventions: Utilize custom colors from config, avoid arbitrary values
- Component reusability: Extract common patterns into shared components
- Git workflow: Feature branches, conventional commits, thorough PR reviews
Current Status: Project is feature-complete for initial marketplace launch. Focus on polish, performance, and user feedback before v2.0 planning.