Skip to content

XdotX78/StackMoneyUp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° StackMoneyUp - Personal Finance Blog Platform

A modern, multi-language blog platform built with Next.js 16, React 19, and Supabase.

Next.js React TypeScript Supabase


✨ Features

  • 🌍 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

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Supabase account

Installation

# 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 dev

Open http://localhost:3000 in your browser.


πŸ“š Documentation

Core Guides

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

Reference Documents

AI Agent & Charts


πŸ›  Tech Stack

Frontend

  • 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

Backend

  • Supabase - PostgreSQL database, Auth, Storage
  • Row Level Security (RLS) - Data access control
  • PostgreSQL Full-Text Search - Fast search with GIN indexes

DevOps

  • Netlify/Vercel - Hosting
  • GitHub Actions - CI/CD
  • Vitest - Unit testing
  • Playwright - E2E testing

πŸ“‹ Project Status

Completion: ~85%
Status: Security fixes + SEO optimization in progress

βœ… Completed

  • 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

🚧 In Progress

  • Supabase security fixes (9 warnings)
  • SEO optimization (Phase 1)
  • Content protection
  • Manual production testing

πŸ“… Planned

  • Error monitoring (Sentry)
  • Advanced SEO (Phase 2)
  • Newsletter integration
  • Multi-author system

πŸ—‚ Project Structure

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

πŸ§ͺ Testing

# 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:coverage

πŸš€ Deployment

Quick Deploy

Netlify (Recommended):

# Install Netlify CLI
npm i -g netlify-cli

# Deploy
netlify deploy --prod

Vercel:

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel --prod

Environment Variables

Required 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_password

See DEPLOYMENT_GUIDE.md for complete deployment instructions.


πŸ”’ Security

  • βœ… 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.


πŸ“ˆ SEO

  • βœ… 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.


🀝 Contributing

Contributions are welcome! Please follow these steps:

  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


πŸ“§ Contact

Project Link: https://github.com/yourusername/stackmoneyup


Built with ❀️ for the personal finance community

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors