4matz is a modern web-based application that allows users to convert data between multiple formats including JSON, XML, CSV, YAML, TOML, HTML, Markdown, and plain text. With a beautiful UI, dark mode support, and powerful features like template management and conversion history, 4matz makes data conversion effortless.
- Multi-Format Support: Convert between 8 different data formats
- User Authentication: Secure login and signup via Supabase Auth
- Conversion Templates: Save and reuse conversion configurations
- History Tracking: Complete audit trail of all conversions with metrics
- Template Sharing: Share conversion templates publicly with unique codes
- User Preferences: Customize themes, defaults, and application settings
- Performance Metrics: Track conversion size and processing time
- Public Gallery: Discover and fork popular conversion templates
- JSON (JavaScript Object Notation)
- XML (Extensible Markup Language)
- CSV (Comma-Separated Values)
- YAML (YAML Ain't Markup Language)
- TOML (Tom's Obvious Minimal Language)
- HTML (HyperText Markup Language)
- Markdown
- Plain Text
Database: ✅ Production Ready Frontend: 🚧 In Development Backend: 🚧 In Development
- Database schema design and implementation
- Row Level Security (RLS) policies
- Performance optimization with indexes
- Automated profile and preference creation
- Template sharing system
- Comprehensive documentation
- Frontend user interface
- Conversion logic implementation
- Authentication UI
- Template management interface
- History dashboard
- DATABASE_SUMMARY.md - High-level overview of database implementation
- DATABASE_HANDOVER.md - Complete technical documentation
- QUICK_START_GUIDE.md - Developer quick reference and code examples
auth.users (Supabase Auth)
↓
profiles ←→ user_preferences
↓
conversion_templates ←→ shared_templates
↓
conversion_history
- profiles - User profile information
- conversion_templates - Saved conversion configurations
- conversion_history - Conversion job tracking with metrics
- shared_templates - Public template sharing system
- user_preferences - Application settings per user
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth
- Frontend: (To be implemented)
- Language: JavaScript/TypeScript
- Node.js 18+ or compatible runtime
- Supabase account and project
- NPM or PNPM package manager
- Clone the repository
git clone <repository-url>
cd DataTextConverter_Project- Install dependencies
npm install- Set up environment variables
# .env file is already configured with Supabase credentials
# VITE_SUPABASE_URL=https://wpjoxxtknefrsioccwjq.supabase.co
# VITE_SUPABASE_SUPABASE_ANON_KEY=<your-key>- Install Supabase client
npm install @supabase/supabase-js- Start development
npm run devimport { createClient } from '@supabase/supabase-js';
// Initialize Supabase client
const supabase = createClient(
process.env.VITE_SUPABASE_URL,
process.env.VITE_SUPABASE_SUPABASE_ANON_KEY
);
// Create a conversion template
const { data, error } = await supabase
.from('conversion_templates')
.insert({
user_id: user.id,
name: 'JSON to XML Converter',
source_format: 'json',
target_format: 'xml',
configuration: {
prettyPrint: true,
rootElement: 'data'
}
})
.select()
.maybeSingle();
// Save conversion to history
await supabase
.from('conversion_history')
.insert({
user_id: user.id,
source_format: 'json',
target_format: 'xml',
input_size_bytes: 1024,
output_size_bytes: 2048,
status: 'completed',
processing_time_ms: 45
});See QUICK_START_GUIDE.md for more examples.
- Row Level Security (RLS) enabled on all tables
- 19 security policies protecting user data
- Users can only access their own data
- Public templates accessible to all authenticated users
- Anonymous conversion support
- 12 strategic indexes for fast queries
- JSONB indexing for flexible configuration search
- Optimized for common query patterns
- Partial indexes for public template discovery
- Automatic profile creation on user signup
- Auto-generation of user preferences with defaults
- Automatic timestamp updates on record changes
- Share code generation for template sharing
// Sign up
await supabase.auth.signUp({ email, password });
// Sign in
await supabase.auth.signInWithPassword({ email, password });
// Sign out
await supabase.auth.signOut();// Create template
await supabase.from('conversion_templates').insert({...});
// Get user templates
await supabase.from('conversion_templates')
.select('*')
.eq('user_id', userId);
// Get public templates
await supabase.from('conversion_templates')
.select('*')
.eq('is_public', true);// Save conversion
await supabase.from('conversion_history').insert({...});
// Get user history
await supabase.from('conversion_history')
.select('*')
.eq('user_id', userId)
.order('created_at', { ascending: false });See complete API documentation in QUICK_START_GUIDE.md.
- Build authentication UI
- Implement conversion engine
- Create template management interface
- Add history dashboard
- Public template gallery
- Template sharing with codes
- User preferences panel
- Performance metrics display
- Template ratings and reviews
- Batch conversion support
- API access for programmatic use
- Team/organization support
- Analytics dashboard
- Performance monitoring
- Advanced caching
- Load balancing
This project is currently in active development. Contributions, issues, and feature requests are welcome!
For technical documentation, see:
- DATABASE_HANDOVER.md - Complete technical reference
- QUICK_START_GUIDE.md - Quick start guide with examples
- DATABASE_SUMMARY.md - Executive summary
DataTextConverter_Project/
├── .env # Environment variables (Supabase config)
├── .gitignore # Git ignore rules
├── README.md # This file
├── LICENSE # MIT License
├── DATABASE_SUMMARY.md # Database overview
├── DATABASE_HANDOVER.md # Complete database documentation
├── QUICK_START_GUIDE.md # Developer quick reference
└── supabase/
└── migrations/
└── 20251009012520_create_core_schema.sql
The database schema is managed through Supabase migrations:
Migration: 20251009012520_create_core_schema.sql
Status: Applied ✅
This migration creates:
- 5 core tables
- 19 RLS policies
- 12 performance indexes
- 3 automation triggers
- Helper functions
Built with:
- Supabase - Backend as a Service
- PostgreSQL - Database
- Vite - Build tool
Status: Database ready for application development ✅
For questions or support, please refer to the documentation files.
