mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 22:34:56 +00:00
- Created multiple test files for utility functions and hooks, ensuring coverage for all core functionalities. - Developed test infrastructure scripts for analyzing and reporting test coverage. - Added detailed testing guidelines and quick reference documentation for developers. - Established a unit test checklist to track implementation progress and ensure best practices. - Updated the documentation index to include new testing resources and guides.
149 lines
3.8 KiB
Markdown
149 lines
3.8 KiB
Markdown
# Getting Started with MetaBuilder
|
|
|
|
Welcome to MetaBuilder! This section has everything you need to get up and running.
|
|
|
|
## Quick Start (5 minutes)
|
|
|
|
1. **Clone the repository**
|
|
```bash
|
|
git clone https://github.com/yourusername/metabuilder
|
|
cd metabuilder
|
|
```
|
|
|
|
2. **Install dependencies**
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
3. **Set up the database**
|
|
```bash
|
|
npm run db:generate
|
|
npm run db:push
|
|
```
|
|
|
|
4. **Start the development server**
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
The application will be available at `http://localhost:3000`
|
|
|
|
## What's Next?
|
|
|
|
- **[PRD.md](./PRD.md)** - Learn about all features and requirements
|
|
- **[QUICK_START.md](./QUICK_START.md)** - Detailed setup instructions
|
|
- **[Architecture Overview](../architecture/5-level-system.md)** - Understand the system design
|
|
|
|
## Key Concepts
|
|
|
|
### MetaBuilder is Data-Driven
|
|
95% of functionality is defined through JSON and Lua configuration, not TypeScript. This makes it:
|
|
- **Flexible**: Change behavior without recompiling
|
|
- **Multi-tenant**: Each tenant has isolated configurations
|
|
- **Declarative**: Define what you want, not how to do it
|
|
|
|
### Five-Level Architecture
|
|
The system uses a sophisticated 5-level hierarchy:
|
|
1. Global system configuration
|
|
2. Tenant-specific features
|
|
3. Module and package definitions
|
|
4. Entity and form configurations
|
|
5. Individual records and data
|
|
|
|
[Learn more about the 5-level system](../architecture/5-level-system.md)
|
|
|
|
## Common Tasks
|
|
|
|
### I want to...
|
|
|
|
**...understand what MetaBuilder does**
|
|
→ Read [PRD.md](./PRD.md)
|
|
|
|
**...understand how it works**
|
|
→ Read [5-Level System](../architecture/5-level-system.md)
|
|
|
|
**...write code**
|
|
→ Follow [Testing Guidelines](../testing/TESTING_GUIDELINES.md)
|
|
|
|
**...deploy to production**
|
|
→ Check [Deployment Guide](../deployments/)
|
|
|
|
**...create a new package**
|
|
→ Learn about [Packages](../architecture/packages.md)
|
|
|
|
## Development Environment
|
|
|
|
### Requirements
|
|
- Node.js 18+
|
|
- npm 9+
|
|
- PostgreSQL 14+
|
|
|
|
### Useful Commands
|
|
|
|
```bash
|
|
# Development
|
|
npm run dev # Start dev server
|
|
npm run build # Production build
|
|
|
|
# Database
|
|
npm run db:generate # Generate Prisma client
|
|
npm run db:push # Sync schema with database
|
|
npm run db:studio # Open Prisma Studio
|
|
|
|
# Testing
|
|
npm test # Run tests in watch mode
|
|
npm test -- --run # Run tests once
|
|
npm run test:coverage # With coverage report
|
|
|
|
# Code Quality
|
|
npm run lint # Check for issues
|
|
npm run lint:fix # Auto-fix issues
|
|
```
|
|
|
|
## Documentation Hierarchy
|
|
|
|
1. **This file (README.md)** - Overview and quick start
|
|
2. **[PRD.md](./PRD.md)** - Features and requirements
|
|
3. **[Architecture](../architecture/)** - How it works
|
|
4. **[Implementation Guides](../implementation/)** - Detailed tutorials
|
|
5. **[API Reference](../api/)** - API documentation
|
|
6. **[Testing](../testing/)** - Testing guide
|
|
7. **[Security](../security/)** - Security practices
|
|
|
|
## Troubleshooting
|
|
|
|
### Port 3000 already in use
|
|
```bash
|
|
# Use a different port
|
|
npm run dev -- -p 3001
|
|
```
|
|
|
|
### Database connection failed
|
|
1. Check PostgreSQL is running
|
|
2. Verify `.env` has correct `DATABASE_URL`
|
|
3. Run `npm run db:push` to initialize schema
|
|
|
|
### Tests failing
|
|
1. Ensure database is set up: `npm run db:push`
|
|
2. Clear node_modules: `rm -rf node_modules && npm install`
|
|
3. Run tests: `npm test -- --run`
|
|
|
|
## Getting Help
|
|
|
|
- 📚 Check the [full documentation index](../INDEX.md)
|
|
- 🔍 Search for your issue in the docs
|
|
- 🐛 Check [Troubleshooting](../troubleshooting/)
|
|
- 💬 Ask the team
|
|
|
|
## Next Steps
|
|
|
|
1. ✅ Complete the quick start above
|
|
2. 📖 Read [PRD.md](./PRD.md) to understand the product
|
|
3. 🏗️ Read [5-Level System](../architecture/5-level-system.md) to understand the architecture
|
|
4. 🧪 Check [Testing Guidelines](../testing/TESTING_GUIDELINES.md) before writing code
|
|
5. 🚀 Start building!
|
|
|
|
---
|
|
|
|
**Need more details?** Check the [full documentation index](../INDEX.md).
|