# Fluix Tutorials
Welcome to the Fluix tutorial series! These step-by-step guides will help you master building beautiful UIs with Fluix and GPUI.
## π Tutorial Series
### Beginner
1. **[Getting Started](./01-GETTING-STARTED.md)** β START HERE
- Installation and setup
- Your first Fluix app
- Understanding the basics
- Common issues and solutions
2. **[Working with Components](./02-COMPONENTS.md)**
- Button component
- Icon component (22 SVG icons)
- Select component (single/multiple)
- TextInput component
- Checkbox component
- Complete examples
3. **[Styling and Theming](./03-STYLING.md)**
- Component sizing system
- Color palette
- Spacing and layout
- Border radius
- Custom styling with GPUI
- Design patterns
### Intermediate
4. **[Event Handling](./04-EVENTS.md)** (Coming Soon)
- Component events
- Event subscription
- Custom events
- Event bubbling
5. **[Building Forms](./05-FORMS.md)** (Coming Soon)
- Form layout
- Validation
- Form state management
- Submit handling
6. **[Layout Patterns](./06-LAYOUTS.md)** (Coming Soon)
- Flexbox layouts
- Grid patterns
- Responsive design
- Common UI patterns
### Advanced
7. **[State Management](./07-STATE.md)** (Coming Soon)
- Component state
- Shared state
- Context and providers
- State patterns
8. **[Custom Components](./08-CUSTOM-COMPONENTS.md)** (Coming Soon)
- Creating custom components
- Component composition
- Reusable patterns
- Publishing components
9. **[Performance Optimization](./09-PERFORMANCE.md)** (Coming Soon)
- Rendering optimization
- Memory management
- Profiling
- Best practices
## π― Learning Path
### Path 1: Quick Start (1-2 hours)
Perfect for getting up and running quickly.
1. [Getting Started](./01-GETTING-STARTED.md) (30 min)
2. [Working with Components](./02-COMPONENTS.md) (45 min)
3. Build something! (30 min)
### Path 2: Complete Beginner (4-6 hours)
Comprehensive introduction to Fluix.
1. [Getting Started](./01-GETTING-STARTED.md)
2. [Working with Components](./02-COMPONENTS.md)
3. [Styling and Theming](./03-STYLING.md)
4. [Event Handling](./04-EVENTS.md)
5. [Building Forms](./05-FORMS.md)
6. Build a complete app!
### Path 3: Master Fluix (10+ hours)
Deep dive into all aspects of Fluix.
Complete all tutorials + build multiple projects
## π Additional Resources
### Documentation
- [Component Reference](../COMPONENT-REFERENCE.md)
- [Icon Reference](../ICON_REFERENCE.md)
- [Asset Loading Guide](../ASSET_LOADING_GUIDE.md)
- [FAQ](../FAQ.md)
### Examples
- [Button Demo](../../examples/button_demo.rs)
- [Icon Demo](../../examples/icon_demo.rs)
- [Select Demo](../../examples/select_demo.rs)
- [Text Input Demo](../../examples/text_input_demo.rs)
### External Resources
- [GPUI Documentation](https://www.gpui.rs/)
- [Zed Editor](https://zed.dev/) - Built with GPUI
- [Rust Book](https://doc.rust-lang.org/book/)
## π Tutorial Format
Each tutorial includes:
- β
Clear learning objectives
- π Step-by-step instructions
- π» Complete code examples
- π‘ Best practices
- π Common pitfalls
- π― Practice exercises
## π€ Contributing
Found an issue or want to improve a tutorial?
- Open an issue on [GitHub](https://github.com/lipish/fluix/issues)
- Submit a pull request
- Share your feedback
## π¬ Getting Help
- **Discord**: Join our community (coming soon)
- **GitHub Issues**: [Report bugs or ask questions](https://github.com/lipish/fluix/issues)
- **Examples**: Check the [examples directory](../../examples/)
## πΊοΈ What to Learn Next?
After completing the tutorials:
1. **Build Projects**
- Todo app
- Settings panel
- Dashboard
- Form wizard
2. **Explore Examples**
- Study the example code
- Modify and experiment
- Build variations
3. **Read the Source**
- Understand component internals
- Learn advanced patterns
- Contribute improvements
4. **Join the Community**
- Share your projects
- Help others
- Contribute to Fluix
## π Tutorial Progress Tracker
Track your learning progress:
- [ ] Getting Started
- [ ] Working with Components
- [ ] Styling and Theming
- [ ] Event Handling
- [ ] Building Forms
- [ ] Layout Patterns
- [ ] State Management
- [ ] Custom Components
- [ ] Performance Optimization
## π Ready to Start?
Begin with **[Getting Started β](./01-GETTING-STARTED.md)**
Happy coding! π