A modern, multi-language blog platform built with Next.js 16, React 19, and Supabase.
- π Multi-language support (English/Italian/Spanish)
- βοΈ Rich text editor with TipTap
- π Interactive charts with Chart.js (line, bar, pie)
- π€ AI Agent API for automated content creation
- π Role-based access (admin/editor/user)
- π Analytics dashboard (views, reads, shares)
- π Full-text search with PostgreSQL
- π¬ Comments system with nested replies
- π Bookmarking for favorite posts
- π± Fully responsive design
- π Dark mode support
- πͺ GDPR/CCPA compliant cookie consent
- π° Google AdSense integration (ready to enable)
- π¨ SEO optimized with schema.org markup
- π Row Level Security (RLS) with Supabase
- π Production-ready with CI/CD
- Node.js 18+
- npm or yarn
- Supabase account
# Clone repository
git clone https://github.com/yourusername/stackmoneyup.git
cd stackmoneyup
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your Supabase credentials
# Run development server
npm run devOpen http://localhost:3000 in your browser.
| Guide | Description | Files Merged |
|---|---|---|
| SETUP_GUIDE.md | Complete Supabase & Auth setup | 5 files |
| DATABASE_GUIDE.md | Database schema, RLS, search | 4 files |
| SEO_AND_SECURITY_GUIDE.md | SEO optimization & security fixes | 7 files |
| DEPLOYMENT_GUIDE.md | Production deployment | 3 files |
| TESTING_GUIDE.md | Unit, integration, E2E tests | 3 files |
- TODO.md - Project task tracking
- WEBSITE_STRUCTURE.md - Site architecture
- MAINTENANCE.md - Maintenance mode guide
- SECURITY_CHECKLIST.md - Security audit checklist
- MANUAL_TESTING_CHECKLIST.md - Testing checklist
- ANALYTICS_SETUP.md - Analytics configuration
- AI_AGENT_API_DOCUMENTATION.md - API for AI content creation
- HOW_TO_GET_API_TOKEN.md - Authentication guide
- CHART_SHORTCODES_GUIDE.md - Interactive chart documentation
- scripts/ - Python examples for AI agents
- ADSENSE_SETUP_GUIDE.md π° - Google AdSense monetization (ready to enable)
- Next.js 16 - React framework with App Router
- React 19 - UI library
- TypeScript - Type safety
- TailwindCSS - Styling
- TipTap - Rich text editor
- next-themes - Dark mode
- Supabase - PostgreSQL database, Auth, Storage
- Row Level Security (RLS) - Data access control
- PostgreSQL Full-Text Search - Fast search with GIN indexes
- Netlify/Vercel - Hosting
- GitHub Actions - CI/CD
- Vitest - Unit testing
- Playwright - E2E testing
Completion: ~85%
Status: Security fixes + SEO optimization in progress
- Core blog functionality (CRUD)
- Multi-language support
- Role-based access control
- Comments system
- Full-text search
- Dark mode
- Cookie consent (GDPR/CCPA)
- Analytics dashboard
- 84 unit tests passing
- Supabase security fixes (9 warnings)
- SEO optimization (Phase 1)
- Content protection
- Manual production testing
- Error monitoring (Sentry)
- Advanced SEO (Phase 2)
- Newsletter integration
- Multi-author system
stackmoneyup/
βββ src/
β βββ app/ # Next.js App Router
β β βββ [lang]/ # Multi-language routes
β β β βββ blog/ # Blog pages
β β β βββ dashboard/ # Admin dashboard
β β β βββ ...
β β βββ api/ # API routes
β βββ components/ # React components
β β βββ blog/ # Blog-specific components
β β βββ layout/ # Layout components
β β βββ ui/ # UI components
β β βββ ...
β βββ lib/ # Utility functions
β β βββ auth.ts # Authentication
β β βββ blog.ts # Blog operations
β β βββ supabaseClient.ts # Supabase client
β β βββ ...
β βββ types/ # TypeScript types
β βββ hooks/ # Custom React hooks
β βββ contexts/ # React contexts
βββ public/ # Static assets
βββ migrations/ # Database migrations
βββ tests/ # Test files
β βββ unit/ # Unit tests
β βββ integration/ # Integration tests
β βββ e2e/ # E2E tests
βββ scripts/ # Utility scripts
βββ [documentation files] # Guides and checklists
# Run all tests
npm run test:all
# Unit tests
npm run test:unit
# Integration tests (requires test database)
npm run test:integration
# E2E tests (requires test environment)
npm run test:e2e
# RLS policy testing
npm run test:rls
# Test with UI
npm run test:ui
# Coverage report
npm run test:coverageNetlify (Recommended):
# Install Netlify CLI
npm i -g netlify-cli
# Deploy
netlify deploy --prodVercel:
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel --prodRequired environment variables:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
NEXT_PUBLIC_SITE_URL=https://yourdomain.com
MAINTENANCE_MODE=false
MAINTENANCE_PASSWORD=your_secure_passwordSee DEPLOYMENT_GUIDE.md for complete deployment instructions.
- β Row Level Security (RLS) enabled on all tables
- β Role-based access control (RBAC)
- β CSRF protection
- β Rate limiting
- β Security headers (HSTS, CSP, X-Frame-Options)
- β Content Security Policy
- β Secure cookies (HttpOnly, Secure, SameSite)
- π§ Supabase function security fixes in progress
See SEO_AND_SECURITY_GUIDE.md for security setup.
- β Schema.org structured data (BlogPosting)
- β Open Graph meta tags
- β Twitter Card meta tags
- β Canonical URLs
- β Multi-language sitemap
- β RSS feed (controlled)
- β Reading progress indicator
- π§ Enhanced schema with breadcrumbs (in progress)
- π§ Content protection (in progress)
See SEO_AND_SECURITY_GUIDE.md for SEO optimization.
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js - React framework
- Supabase - Backend platform
- TipTap - Rich text editor
- TailwindCSS - CSS framework
- Vercel - Hosting platform
Project Link: https://github.com/yourusername/stackmoneyup
Built with β€οΈ for the personal finance community