Compare commits
2 Commits
095fd89ff7
...
91ea298f2d
Author | SHA1 | Date | |
---|---|---|---|
![]() |
91ea298f2d | ||
![]() |
c5f607be19 |
339
DOCUMENTATION.md
Normal file
339
DOCUMENTATION.md
Normal file
@ -0,0 +1,339 @@
|
||||
# Rustelo Documentation
|
||||
|
||||
<div align="center">
|
||||
<img src="logos/rustelo_dev-logo-h.svg" alt="RUSTELO" width="300" />
|
||||
</div>
|
||||
|
||||
Welcome to the comprehensive documentation for Rustelo, a modular Rust web application template. This document serves as your gateway to understanding, setting up, and using all aspects of Rustelo.
|
||||
|
||||
## 📚 Documentation Overview
|
||||
|
||||
Rustelo provides multiple layers of documentation to serve different needs:
|
||||
|
||||
### 🎯 Quick References
|
||||
- **[README.md](README.md)** - Main project overview and quick start
|
||||
- **[FEATURES.md](FEATURES.md)** - Detailed feature documentation
|
||||
- **[INSTALL.md](INSTALL.md)** - Installation guide
|
||||
|
||||
### 📖 Interactive Documentation (mdBook)
|
||||
- **[Complete Guide](https://yourusername.github.io/rustelo)** - Full interactive documentation
|
||||
- **Local Development**: `./scripts/docs-dev.sh` - Start local documentation server
|
||||
- **Build Documentation**: `./scripts/build-docs.sh` - Build static documentation
|
||||
|
||||
### 📁 Documentation Directories
|
||||
- **[docs/](docs/)** - Technical documentation and guides
|
||||
- **[info/](info/)** - Implementation details and architectural decisions
|
||||
- **[examples/](examples/)** - Usage examples and sample configurations
|
||||
|
||||
## 🚀 Getting Started with Documentation
|
||||
|
||||
### 1. Setup Documentation System
|
||||
```bash
|
||||
# Interactive setup (recommended)
|
||||
./scripts/setup-docs.sh
|
||||
|
||||
# Full automated setup
|
||||
./scripts/setup-docs.sh --full
|
||||
|
||||
# Minimal setup
|
||||
./scripts/setup-docs.sh --minimal
|
||||
```
|
||||
|
||||
### 2. Start Documentation Development
|
||||
```bash
|
||||
# Start local documentation server
|
||||
./scripts/docs-dev.sh
|
||||
|
||||
# Or using just
|
||||
just docs-dev
|
||||
```
|
||||
|
||||
### 3. Build and Deploy
|
||||
```bash
|
||||
# Build documentation
|
||||
./scripts/build-docs.sh
|
||||
|
||||
# Deploy to GitHub Pages
|
||||
./scripts/deploy-docs.sh github-pages
|
||||
|
||||
# Or using just
|
||||
just docs-build
|
||||
just docs-deploy-github
|
||||
```
|
||||
|
||||
## 📋 Documentation Structure
|
||||
|
||||
### Core Sections
|
||||
|
||||
#### 🏁 Getting Started
|
||||
- **[Quick Start](book/getting-started/quick-start.md)** - Get up and running in minutes
|
||||
- **[Installation](book/getting-started/installation.md)** - Detailed installation guide
|
||||
- **[Configuration](book/getting-started/configuration.md)** - Basic configuration
|
||||
- **[Your First App](book/getting-started/first-app.md)** - Build your first application
|
||||
|
||||
#### 🎛️ Features
|
||||
- **[Feature Overview](book/features/overview.md)** - All available features
|
||||
- **[Authentication](book/features/authentication.md)** - User authentication system
|
||||
- **[Content Management](book/features/content-management.md)** - Content management system
|
||||
- **[Email System](book/features/email.md)** - Email functionality
|
||||
- **[TLS Support](book/features/tls.md)** - HTTPS/TLS configuration
|
||||
- **[Feature Combinations](book/features/combinations.md)** - How features work together
|
||||
|
||||
#### 🗄️ Database
|
||||
- **[Database Overview](book/database/overview.md)** - Database system overview
|
||||
- **[PostgreSQL Setup](book/database/postgresql.md)** - PostgreSQL configuration
|
||||
- **[SQLite Setup](book/database/sqlite.md)** - SQLite configuration
|
||||
- **[Database Configuration](book/database/configuration.md)** - Advanced configuration
|
||||
- **[Migrations](book/database/migrations.md)** - Database migrations
|
||||
- **[Database Abstraction](book/database/abstraction.md)** - Database abstraction layer
|
||||
|
||||
#### 🛠️ Development
|
||||
- **[Development Setup](book/development/setup.md)** - Development environment
|
||||
- **[Project Structure](book/development/structure.md)** - Understanding the codebase
|
||||
- **[Development Workflow](book/development/workflow.md)** - Development best practices
|
||||
- **[Testing](book/development/testing.md)** - Testing strategies
|
||||
- **[Debugging](book/development/debugging.md)** - Debugging techniques
|
||||
- **[Hot Reloading](book/development/hot-reloading.md)** - Development server setup
|
||||
|
||||
#### 🚀 Deployment
|
||||
- **[Deployment Overview](book/deployment/overview.md)** - Deployment strategies
|
||||
- **[Docker Deployment](book/deployment/docker.md)** - Containerized deployment
|
||||
- **[Production Setup](book/deployment/production.md)** - Production configuration
|
||||
- **[Environment-Specific Config](book/deployment/environments.md)** - Environment management
|
||||
- **[Monitoring & Logging](book/deployment/monitoring.md)** - Observability
|
||||
|
||||
#### 🔒 Security
|
||||
- **[Security Overview](book/security/overview.md)** - Security architecture
|
||||
- **[Authentication Security](book/security/auth.md)** - Authentication security
|
||||
- **[Data Protection](book/security/data-protection.md)** - Data encryption and protection
|
||||
- **[CSRF Protection](book/security/csrf.md)** - CSRF prevention
|
||||
- **[TLS Configuration](book/security/tls.md)** - TLS/SSL setup
|
||||
- **[Security Best Practices](book/security/best-practices.md)** - Security guidelines
|
||||
|
||||
#### 🔧 API Reference
|
||||
- **[API Overview](book/api/overview.md)** - API architecture
|
||||
- **[Authentication Endpoints](book/api/auth.md)** - Authentication API
|
||||
- **[Content Endpoints](book/api/content.md)** - Content management API
|
||||
- **[Error Handling](book/api/errors.md)** - Error responses
|
||||
- **[Rate Limiting](book/api/rate-limiting.md)** - Rate limiting configuration
|
||||
|
||||
## 🛠️ Documentation Tools
|
||||
|
||||
### Available Scripts
|
||||
- **`./scripts/setup-docs.sh`** - Setup documentation system
|
||||
- **`./scripts/docs-dev.sh`** - Start development server
|
||||
- **`./scripts/build-docs.sh`** - Build documentation
|
||||
- **`./scripts/deploy-docs.sh`** - Deploy documentation
|
||||
- **`./scripts/generate-content.sh`** - Generate dynamic content
|
||||
|
||||
### Just Commands
|
||||
```bash
|
||||
# Documentation commands
|
||||
just docs-setup # Setup documentation system
|
||||
just docs-dev # Start development server
|
||||
just docs-build # Build documentation
|
||||
just docs-build-sync # Build with content sync
|
||||
just docs-watch # Watch for changes
|
||||
just docs-deploy-github # Deploy to GitHub Pages
|
||||
just docs-deploy-netlify # Deploy to Netlify
|
||||
just docs-deploy-vercel # Deploy to Vercel
|
||||
just docs-docker # Build Docker image
|
||||
just docs-generate # Generate dynamic content
|
||||
just docs-check-links # Check for broken links
|
||||
just docs-clean # Clean build files
|
||||
just docs-workflow # Complete workflow
|
||||
just help-docs # Show documentation help
|
||||
```
|
||||
|
||||
## 📖 Documentation Types
|
||||
|
||||
### 1. Technical Documentation (`docs/`)
|
||||
Focused on implementation details and technical guides:
|
||||
- **[2FA Implementation](docs/2fa_implementation.md)** - Two-factor authentication
|
||||
- **[Database Configuration](docs/database_configuration.md)** - Database setup
|
||||
- **[Email System](docs/email.md)** - Email configuration
|
||||
- **[Encryption](docs/encryption.md)** - Data encryption
|
||||
- **[Migration Guide](docs/database_migration_guide.md)** - Database migrations
|
||||
|
||||
### 2. Implementation Notes (`info/`)
|
||||
Architectural decisions and implementation details:
|
||||
- **[Feature System](info/feature_system.md)** - Feature architecture
|
||||
- **[Database Abstraction](info/database_abstraction.md)** - Database design
|
||||
- **[Authentication](info/auth_readme.md)** - Authentication system
|
||||
- **[Configuration](info/config.md)** - Configuration system
|
||||
- **[Deployment](info/deployment.md)** - Deployment strategies
|
||||
|
||||
### 3. Interactive Documentation (`book/`)
|
||||
Comprehensive user-friendly guides built with mdBook:
|
||||
- Searchable content
|
||||
- Mobile-friendly design
|
||||
- Cross-referenced sections
|
||||
- Code examples with syntax highlighting
|
||||
- Print-friendly format
|
||||
|
||||
## 🌐 Deployment Options
|
||||
|
||||
### GitHub Pages
|
||||
```bash
|
||||
# Automatic deployment via GitHub Actions
|
||||
./scripts/deploy-docs.sh github-pages
|
||||
|
||||
# Manual deployment
|
||||
just docs-deploy-github
|
||||
```
|
||||
|
||||
### Netlify
|
||||
```bash
|
||||
# Deploy to Netlify
|
||||
./scripts/deploy-docs.sh netlify
|
||||
just docs-deploy-netlify
|
||||
```
|
||||
|
||||
### Vercel
|
||||
```bash
|
||||
# Deploy to Vercel
|
||||
./scripts/deploy-docs.sh vercel
|
||||
just docs-deploy-vercel
|
||||
```
|
||||
|
||||
### Docker
|
||||
```bash
|
||||
# Build documentation container
|
||||
./scripts/deploy-docs.sh docker
|
||||
just docs-docker
|
||||
|
||||
# Run documentation server
|
||||
docker run -p 8080:80 rustelo-docs:latest
|
||||
```
|
||||
|
||||
### AWS S3
|
||||
```bash
|
||||
# Deploy to S3 (requires AWS_S3_BUCKET)
|
||||
export AWS_S3_BUCKET=your-bucket-name
|
||||
./scripts/deploy-docs.sh aws-s3
|
||||
```
|
||||
|
||||
## 🔄 CI/CD Integration
|
||||
|
||||
### GitHub Actions
|
||||
Automatic documentation builds and deployments:
|
||||
- **Build on PR**: Validates documentation builds
|
||||
- **Deploy on merge**: Automatically deploys to GitHub Pages
|
||||
- **Link checking**: Validates all links in documentation
|
||||
- **Multi-format build**: Builds HTML, PDF, and EPUB formats
|
||||
|
||||
### Setup CI/CD
|
||||
```bash
|
||||
# Setup CI/CD integration
|
||||
./scripts/setup-docs.sh --ci
|
||||
|
||||
# This creates:
|
||||
# - .github/workflows/docs.yml
|
||||
# - Automated deployment configuration
|
||||
# - Link checking integration
|
||||
```
|
||||
|
||||
## 📱 Mobile-Friendly Features
|
||||
|
||||
- **Responsive Design**: Works on all screen sizes
|
||||
- **Touch Navigation**: Mobile-friendly navigation
|
||||
- **Offline Support**: Progressive web app features
|
||||
- **Fast Loading**: Optimized for mobile connections
|
||||
- **Search**: Full-text search functionality
|
||||
|
||||
## 🎨 Customization
|
||||
|
||||
### Custom Styling
|
||||
- **`book/theme/custom.css`** - Custom styles
|
||||
- **`book/theme/custom.js`** - Custom JavaScript
|
||||
- **Brand colors and fonts**
|
||||
- **Custom layouts and components**
|
||||
|
||||
### Content Organization
|
||||
- **Modular structure**: Easy to reorganize content
|
||||
- **Cross-references**: Automatic link generation
|
||||
- **Content templates**: Consistent formatting
|
||||
- **Dynamic content**: Auto-generated sections
|
||||
|
||||
## 🔍 Search and Discovery
|
||||
|
||||
### Built-in Search
|
||||
- **Full-text search**: Search across all documentation
|
||||
- **Instant results**: Fast search with highlighting
|
||||
- **Keyboard shortcuts**: `Ctrl+K` or `Cmd+K` to search
|
||||
- **Search suggestions**: Auto-complete functionality
|
||||
|
||||
### Navigation
|
||||
- **Hierarchical structure**: Logical content organization
|
||||
- **Breadcrumbs**: Easy navigation context
|
||||
- **Previous/Next**: Sequential navigation
|
||||
- **Table of contents**: Section overview
|
||||
|
||||
## 📊 Analytics and Monitoring
|
||||
|
||||
### Documentation Metrics
|
||||
- **Build times**: Monitor documentation build performance
|
||||
- **Broken links**: Automatic link validation
|
||||
- **Usage analytics**: Track documentation usage (when deployed)
|
||||
- **Performance monitoring**: Page load times and optimization
|
||||
|
||||
### Quality Assurance
|
||||
- **Link checking**: Automated broken link detection
|
||||
- **Content validation**: Ensure all sections are complete
|
||||
- **Style checking**: Consistent formatting
|
||||
- **Accessibility testing**: WCAG compliance
|
||||
|
||||
## 🤝 Contributing to Documentation
|
||||
|
||||
### How to Contribute
|
||||
1. **Edit content**: Modify files in `book/` directory
|
||||
2. **Test locally**: Run `just docs-dev` to preview changes
|
||||
3. **Submit PR**: Create pull request with documentation changes
|
||||
4. **Review process**: Automated checks and manual review
|
||||
|
||||
### Content Guidelines
|
||||
- **Clear writing**: Use simple, clear language
|
||||
- **Code examples**: Include working code examples
|
||||
- **Screenshots**: Add visual aids when helpful
|
||||
- **Cross-references**: Link to related sections
|
||||
- **Consistency**: Follow established patterns
|
||||
|
||||
### Content Types
|
||||
- **Tutorials**: Step-by-step guides
|
||||
- **Reference**: API and configuration documentation
|
||||
- **Examples**: Code samples and use cases
|
||||
- **Troubleshooting**: Common issues and solutions
|
||||
|
||||
## 🆘 Getting Help
|
||||
|
||||
### Documentation Issues
|
||||
- **[GitHub Issues](https://github.com/yourusername/rustelo/issues)** - Report documentation bugs
|
||||
- **[Discussions](https://github.com/yourusername/rustelo/discussions)** - Ask questions
|
||||
- **[Contributing Guide](book/contributing/docs.md)** - How to contribute
|
||||
|
||||
### Quick Help
|
||||
```bash
|
||||
# Show all documentation commands
|
||||
just help-docs
|
||||
|
||||
# Check documentation build
|
||||
just docs-build
|
||||
|
||||
# Start local development
|
||||
just docs-dev
|
||||
```
|
||||
|
||||
## 🎯 Next Steps
|
||||
|
||||
1. **[Setup Documentation](scripts/setup-docs.sh)** - Initialize your documentation system
|
||||
2. **[Start Development](scripts/docs-dev.sh)** - Begin working with documentation
|
||||
3. **[Deploy Documentation](scripts/deploy-docs.sh)** - Share your documentation
|
||||
4. **[Customize Experience](book/theme/)** - Make it your own
|
||||
|
||||
---
|
||||
|
||||
**Happy documenting!** 📚✨
|
||||
|
||||
The Rustelo documentation system is designed to grow with your project. Start simple, add complexity as needed, and maintain comprehensive documentation that serves your users and contributors effectively.
|
||||
|
||||
For the most up-to-date documentation, visit: **[https://yourusername.github.io/rustelo](https://yourusername.github.io/
|
568
INSTALL.md
Normal file
568
INSTALL.md
Normal file
@ -0,0 +1,568 @@
|
||||
# Rustelo Installation Guide
|
||||
|
||||
<div align="center">
|
||||
<img src="logos/rustelo_dev-logo-h.svg" alt="RUSTELO" width="300" />
|
||||
</div>
|
||||
|
||||
Welcome to Rustelo! This guide will help you install and set up your Rust web application framework built with Leptos using our unified installer.
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Unix/Linux/macOS
|
||||
```bash
|
||||
# Clone or download the project
|
||||
git clone <repository-url>
|
||||
cd rustelo
|
||||
|
||||
# Quick development setup (default)
|
||||
./install.sh
|
||||
|
||||
# Or specify options
|
||||
./install.sh -m dev -n my-app
|
||||
```
|
||||
|
||||
### Windows
|
||||
```powershell
|
||||
# Clone or download the project
|
||||
git clone <repository-url>
|
||||
cd rustelo
|
||||
|
||||
# Quick development setup (default)
|
||||
.\install.ps1
|
||||
|
||||
# Or specify options
|
||||
.\install.ps1 -Mode dev -ProjectName my-app
|
||||
```
|
||||
|
||||
## Installation Modes
|
||||
|
||||
The unified installer supports three modes:
|
||||
|
||||
### 1. Development Mode (default)
|
||||
```bash
|
||||
./install.sh -m dev
|
||||
```
|
||||
- Environment: `dev`
|
||||
- TLS: disabled
|
||||
- OAuth: disabled
|
||||
- Authentication: enabled
|
||||
- Content Database: enabled
|
||||
- Optimized for development with debugging
|
||||
|
||||
### 2. Production Mode
|
||||
```bash
|
||||
./install.sh -m prod
|
||||
```
|
||||
- Environment: `prod`
|
||||
- TLS: enabled by default
|
||||
- OAuth: optional
|
||||
- Authentication: enabled
|
||||
- Content Database: enabled
|
||||
- Optimized for production deployment
|
||||
|
||||
### 3. Custom Mode
|
||||
```bash
|
||||
./install.sh -m custom
|
||||
```
|
||||
- Interactive configuration selection
|
||||
- Choose features individually
|
||||
- Customize all settings
|
||||
|
||||
## Command Line Options
|
||||
|
||||
### Unix/Linux/macOS (`install.sh`)
|
||||
|
||||
| Option | Description | Default |
|
||||
|--------|-------------|---------|
|
||||
| `-m, --mode MODE` | Installation mode (dev/prod/custom) | `dev` |
|
||||
| `-n, --name NAME` | Project name | `my-rustelo-app` |
|
||||
| `-e, --env ENV` | Environment (dev/prod) | `dev` |
|
||||
| `-d, --dir DIR` | Installation directory | `./<project-name>` |
|
||||
| `--enable-tls` | Enable TLS/HTTPS support | `false` |
|
||||
| `--enable-oauth` | Enable OAuth authentication | `false` |
|
||||
| `--disable-auth` | Disable authentication features | `false` |
|
||||
| `--disable-content-db` | Disable content database features | `false` |
|
||||
| `--skip-deps` | Skip dependency installation | `false` |
|
||||
| `--force` | Force reinstallation | `false` |
|
||||
| `--quiet` | Suppress debug output | `false` |
|
||||
| `-h, --help` | Show help message | - |
|
||||
|
||||
### Windows (`install.ps1`)
|
||||
|
||||
| Option | Description | Default |
|
||||
|--------|-------------|---------|
|
||||
| `-Mode` | Installation mode (dev/prod/custom) | `dev` |
|
||||
| `-ProjectName` | Project name | `my-rustelo-app` |
|
||||
| `-Environment` | Environment (dev/prod) | `dev` |
|
||||
| `-InstallDir` | Installation directory | `./<project-name>` |
|
||||
| `-EnableTLS` | Enable TLS/HTTPS support | `false` |
|
||||
| `-EnableOAuth` | Enable OAuth authentication | `false` |
|
||||
| `-DisableAuth` | Disable authentication features | `false` |
|
||||
| `-DisableContentDB` | Disable content database features | `false` |
|
||||
| `-SkipDeps` | Skip dependency installation | `false` |
|
||||
| `-Force` | Force reinstallation | `false` |
|
||||
| `-Quiet` | Suppress debug output | `false` |
|
||||
| `-Help` | Show help message | - |
|
||||
|
||||
## Environment Variables
|
||||
|
||||
You can also configure the installer using environment variables:
|
||||
|
||||
| Variable | Description | Default |
|
||||
|----------|-------------|---------|
|
||||
| `INSTALL_MODE` | Installation mode (dev/prod/custom) | `dev` |
|
||||
| `PROJECT_NAME` | Project name | `my-rustelo-app` |
|
||||
| `ENVIRONMENT` | Environment (dev/prod) | `dev` |
|
||||
| `ENABLE_TLS` | Enable TLS (true/false) | `false` |
|
||||
| `ENABLE_AUTH` | Enable authentication (true/false) | `true` |
|
||||
| `ENABLE_CONTENT_DB` | Enable content database (true/false) | `true` |
|
||||
| `ENABLE_OAUTH` | Enable OAuth (true/false) | `false` |
|
||||
| `SKIP_DEPS` | Skip dependencies (true/false) | `false` |
|
||||
| `FORCE_REINSTALL` | Force reinstall (true/false) | `false` |
|
||||
| `QUIET` | Quiet mode (true/false) | `false` |
|
||||
|
||||
## Examples
|
||||
|
||||
### Development Setup
|
||||
```bash
|
||||
# Simple development setup
|
||||
./install.sh
|
||||
|
||||
# Development with custom name
|
||||
./install.sh -n my-blog
|
||||
|
||||
# Development with TLS enabled
|
||||
./install.sh --enable-tls
|
||||
```
|
||||
|
||||
### Production Setup
|
||||
```bash
|
||||
# Production setup with HTTPS
|
||||
./install.sh -m prod -n my-app
|
||||
|
||||
# Production with OAuth enabled
|
||||
./install.sh -m prod --enable-oauth
|
||||
|
||||
# Production in custom directory
|
||||
./install.sh -m prod -d /opt/my-app
|
||||
```
|
||||
|
||||
### Using Environment Variables
|
||||
```bash
|
||||
# Set environment variables
|
||||
export INSTALL_MODE=prod
|
||||
export PROJECT_NAME=my-production-app
|
||||
export ENABLE_TLS=true
|
||||
export ENABLE_OAUTH=true
|
||||
|
||||
# Run installer
|
||||
./install.sh
|
||||
```
|
||||
|
||||
### Windows Examples
|
||||
```powershell
|
||||
# Simple development setup
|
||||
.\install.ps1
|
||||
|
||||
# Production setup with HTTPS
|
||||
.\install.ps1 -Mode prod -ProjectName my-app -EnableTLS
|
||||
|
||||
# Custom interactive setup
|
||||
.\install.ps1 -Mode custom
|
||||
|
||||
# Using environment variables
|
||||
$env:INSTALL_MODE = "prod"
|
||||
$env:PROJECT_NAME = "my-app"
|
||||
.\install.ps1
|
||||
```
|
||||
|
||||
## System Requirements
|
||||
|
||||
### Required Dependencies
|
||||
|
||||
- **Rust** (1.75.0 or later)
|
||||
- Install from [rustup.rs](https://rustup.rs/)
|
||||
- Includes `cargo` package manager
|
||||
|
||||
- **Node.js** (18.0.0 or later)
|
||||
- Install from [nodejs.org](https://nodejs.org/)
|
||||
- Includes `npm` package manager
|
||||
- Optional: `pnpm` for faster package management
|
||||
|
||||
- **Git** (for cloning repositories)
|
||||
|
||||
- **OpenSSL** (for TLS certificate generation)
|
||||
|
||||
- **mdBook** (for documentation)
|
||||
- Automatically installed by installer
|
||||
- Manual install: `cargo install mdbook`
|
||||
- Required for documentation system
|
||||
|
||||
- **Just** (task runner)
|
||||
- Automatically installed by installer
|
||||
- Manual install: `cargo install just`
|
||||
- Required for development workflow
|
||||
|
||||
### Optional Dependencies
|
||||
|
||||
- **PostgreSQL** (for database features)
|
||||
- **Redis** (for caching and sessions)
|
||||
- **Docker** (for containerized deployment)
|
||||
- **mdBook plugins** (for enhanced documentation)
|
||||
- `mdbook-linkcheck` - Link validation
|
||||
- `mdbook-toc` - Table of contents generation
|
||||
- `mdbook-mermaid` - Diagram support
|
||||
- Automatically installed by installer
|
||||
|
||||
### System-Specific Requirements
|
||||
|
||||
#### Linux (Ubuntu/Debian)
|
||||
```bash
|
||||
# Update package list
|
||||
sudo apt update
|
||||
|
||||
# Install required packages
|
||||
sudo apt install -y git curl build-essential pkg-config libssl-dev
|
||||
|
||||
# Install Rust
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
|
||||
# Install Node.js
|
||||
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
|
||||
sudo apt-get install -y nodejs
|
||||
```
|
||||
|
||||
#### macOS
|
||||
```bash
|
||||
# Install Homebrew if not already installed
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
|
||||
# Install required packages
|
||||
brew install git openssl
|
||||
|
||||
# Install Rust
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
|
||||
# Install Node.js
|
||||
brew install node
|
||||
```
|
||||
|
||||
#### Windows
|
||||
1. Install Git from [git-scm.com](https://git-scm.com/)
|
||||
2. Install Rust from [rustup.rs](https://rustup.rs/)
|
||||
3. Install Node.js from [nodejs.org](https://nodejs.org/)
|
||||
4. Install OpenSSL (or use the installer's automatic setup)
|
||||
|
||||
## What the Installer Does
|
||||
|
||||
1. **System Check**: Verifies required tools are installed
|
||||
2. **Dependency Installation**: Installs Rust and Node.js if missing
|
||||
3. **Rust Tools**: Installs `cargo-leptos`, `mdbook`, `just`, and other development tools
|
||||
4. **Documentation Tools**: Installs mdBook plugins for enhanced documentation
|
||||
5. **Project Creation**: Copies template files to new project directory
|
||||
6. **Configuration**: Creates `.env` file with appropriate settings
|
||||
7. **Dependencies**: Installs Rust and Node.js dependencies
|
||||
8. **Build**: Compiles the project
|
||||
9. **Scripts**: Creates startup scripts for development and production
|
||||
10. **Documentation Setup**: Initializes documentation system
|
||||
11. **TLS Setup**: Generates self-signed certificates if enabled
|
||||
|
||||
## Project Structure
|
||||
|
||||
After installation, your project will have this structure:
|
||||
|
||||
```
|
||||
my-rustelo-app/
|
||||
├── src/ # Rust source code
|
||||
│ ├── client/ # Client-side code
|
||||
│ ├── server/ # Server-side code
|
||||
│ └── shared/ # Shared code
|
||||
├── public/ # Static assets
|
||||
├── book/ # Documentation source (mdBook)
|
||||
├── book-output/ # Built documentation
|
||||
├── certs/ # TLS certificates (if enabled)
|
||||
├── scripts/ # Setup and utility scripts
|
||||
│ ├── setup-docs.sh # Documentation setup
|
||||
│ ├── build-docs.sh # Build documentation
|
||||
│ ├── deploy-docs.sh # Deploy documentation
|
||||
│ └── docs-dev.sh # Documentation dev server
|
||||
├── .env # Environment configuration
|
||||
├── Cargo.toml # Rust dependencies
|
||||
├── package.json # Node.js dependencies
|
||||
├── justfile # Task runner configuration
|
||||
├── book.toml # mdBook configuration
|
||||
├── start.sh # Development start script (Unix)
|
||||
├── start.bat # Development start script (Windows)
|
||||
├── start-prod.sh # Production start script (Unix)
|
||||
├── start-prod.bat # Production start script (Windows)
|
||||
└── build.sh # Build script (Unix)
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Environment Variables (.env)
|
||||
|
||||
The installer creates a `.env` file with settings appropriate for your chosen mode:
|
||||
|
||||
| Variable | Description | Dev Default | Prod Default |
|
||||
|----------|-------------|-------------|--------------|
|
||||
| `ENVIRONMENT` | Environment type | `dev` | `prod` |
|
||||
| `SERVER_HOST` | Server bind address | `127.0.0.1` | `0.0.0.0` |
|
||||
| `SERVER_PORT` | Server port | `3030` | `443` |
|
||||
| `SERVER_PROTOCOL` | Protocol | `http` | `https` |
|
||||
| `DATABASE_URL` | Database connection | Local PostgreSQL | Production URL |
|
||||
| `SESSION_SECRET` | Session encryption key | Dev key | Generated |
|
||||
| `LOG_LEVEL` | Logging level | `debug` | `info` |
|
||||
|
||||
### Feature Configuration
|
||||
|
||||
Features are controlled by environment variables:
|
||||
|
||||
- `ENABLE_AUTH` - Authentication system
|
||||
- `ENABLE_CONTENT_DB` - Content management
|
||||
- `ENABLE_TLS` - HTTPS support
|
||||
- `ENABLE_OAUTH` - OAuth providers
|
||||
|
||||
## Development Workflow
|
||||
|
||||
### Starting the Development Server
|
||||
|
||||
```bash
|
||||
# Navigate to project
|
||||
cd my-rustelo-app
|
||||
|
||||
# Start development server (Unix)
|
||||
./start.sh
|
||||
|
||||
# Start development server (Windows)
|
||||
.\start.bat
|
||||
|
||||
# Or use cargo directly
|
||||
cargo leptos watch
|
||||
```
|
||||
|
||||
### Building for Production
|
||||
|
||||
```bash
|
||||
# Build for production (Unix)
|
||||
./start-prod.sh
|
||||
|
||||
# Build for production (Windows)
|
||||
.\start-prod.bat
|
||||
|
||||
# Or use cargo directly
|
||||
cargo leptos build --release
|
||||
./target/release/server
|
||||
```
|
||||
|
||||
### Available Commands
|
||||
|
||||
#### Development Commands
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `cargo leptos watch` | Start development server with hot reload |
|
||||
| `cargo leptos build` | Build for production |
|
||||
| `cargo build` | Build Rust code only |
|
||||
| `npm run build:css` | Build CSS only |
|
||||
| `npm run dev` | Watch CSS changes |
|
||||
| `cargo test` | Run tests |
|
||||
| `cargo clippy` | Run linter |
|
||||
|
||||
#### Just Commands (Task Runner)
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `just dev` | Start development server |
|
||||
| `just build` | Build project |
|
||||
| `just test` | Run tests |
|
||||
| `just docs-dev` | Start documentation dev server |
|
||||
| `just docs-build` | Build documentation |
|
||||
| `just docs-deploy-github` | Deploy docs to GitHub Pages |
|
||||
| `just help` | Show all available commands |
|
||||
| `just help-docs` | Show documentation commands |
|
||||
|
||||
#### Documentation Commands
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `./scripts/setup-docs.sh` | Setup documentation system |
|
||||
| `./scripts/docs-dev.sh` | Start documentation dev server |
|
||||
| `./scripts/build-docs.sh` | Build documentation |
|
||||
| `./scripts/deploy-docs.sh` | Deploy documentation |
|
||||
| `mdbook serve` | Serve documentation locally |
|
||||
| `mdbook build` | Build documentation manually |
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
#### 1. Installation Mode Not Recognized
|
||||
**Error**: `Invalid installation mode: xyz`
|
||||
|
||||
**Solution**: Use valid modes: `dev`, `prod`, or `custom`
|
||||
```bash
|
||||
./install.sh -m dev # Valid
|
||||
./install.sh -m prod # Valid
|
||||
./install.sh -m custom # Valid
|
||||
```
|
||||
|
||||
#### 2. Project Directory Already Exists
|
||||
**Error**: `Project directory already exists`
|
||||
|
||||
**Solution**: Use `--force` flag or choose different name
|
||||
```bash
|
||||
./install.sh --force # Overwrite existing
|
||||
./install.sh -n different-name # Use different name
|
||||
```
|
||||
|
||||
#### 3. Missing Dependencies
|
||||
**Error**: `Missing required system tools`
|
||||
|
||||
**Solution**: Install missing tools:
|
||||
```bash
|
||||
# Ubuntu/Debian
|
||||
sudo apt install git curl openssl
|
||||
|
||||
# macOS
|
||||
brew install git openssl
|
||||
|
||||
# Windows: Install manually from official websites
|
||||
```
|
||||
|
||||
#### 4. Rust Installation Issues
|
||||
**Error**: `cargo: command not found`
|
||||
|
||||
**Solution**: Ensure Rust is installed and in PATH:
|
||||
```bash
|
||||
# Install Rust
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
|
||||
# Add to PATH
|
||||
source ~/.cargo/env
|
||||
```
|
||||
|
||||
#### 5. Node.js Dependencies
|
||||
**Error**: `npm: command not found`
|
||||
|
||||
**Solution**: Install Node.js from [nodejs.org](https://nodejs.org/)
|
||||
|
||||
#### 6. Build Failures
|
||||
**Error**: `cargo build` fails with linking errors
|
||||
|
||||
**Solution**: Install system dependencies:
|
||||
```bash
|
||||
# Ubuntu/Debian
|
||||
sudo apt install build-essential pkg-config libssl-dev
|
||||
|
||||
# macOS
|
||||
xcode-select --install
|
||||
```
|
||||
|
||||
### Getting Help
|
||||
|
||||
1. Check the installation log: `install.log`
|
||||
2. Review configuration files: `.env`, `Cargo.toml`
|
||||
3. Validate settings: `cargo run --bin config_tool -- validate`
|
||||
4. Check documentation files in the project directory
|
||||
|
||||
## Manual Installation
|
||||
|
||||
If you prefer to set up manually without the installer:
|
||||
|
||||
### 1. Clone Template
|
||||
```bash
|
||||
git clone <repository-url>
|
||||
cd rustelo
|
||||
cp -r template my-project
|
||||
cd my-project
|
||||
```
|
||||
|
||||
### 2. Install Tools
|
||||
```bash
|
||||
cargo install cargo-leptos
|
||||
cargo install mdbook
|
||||
cargo install just
|
||||
cargo install cargo-watch # Optional
|
||||
cargo install mdbook-linkcheck # Optional
|
||||
cargo install mdbook-toc # Optional
|
||||
cargo install mdbook-mermaid # Optional
|
||||
```
|
||||
|
||||
### 3. Configure Environment
|
||||
Create `.env` file:
|
||||
```env
|
||||
ENVIRONMENT=dev
|
||||
SERVER_HOST=127.0.0.1
|
||||
SERVER_PORT=3030
|
||||
SERVER_PROTOCOL=http
|
||||
DATABASE_URL=postgresql://dev:dev@localhost:5432/myapp_dev
|
||||
SESSION_SECRET=your-secret-key
|
||||
ENABLE_AUTH=true
|
||||
ENABLE_CONTENT_DB=true
|
||||
ENABLE_TLS=false
|
||||
```
|
||||
|
||||
### 4. Install Dependencies
|
||||
```bash
|
||||
cargo fetch
|
||||
npm install
|
||||
```
|
||||
|
||||
### 5. Setup Documentation
|
||||
```bash
|
||||
./scripts/setup-docs.sh --full
|
||||
```
|
||||
|
||||
### 6. Build and Run
|
||||
```bash
|
||||
npm run build:css
|
||||
cargo build
|
||||
cargo leptos watch
|
||||
|
||||
# Or use just commands
|
||||
just dev
|
||||
just docs-dev # In another terminal for documentation
|
||||
```
|
||||
|
||||
## Production Deployment
|
||||
|
||||
### Security Checklist
|
||||
|
||||
After running the installer in production mode:
|
||||
|
||||
- [ ] Update `SESSION_SECRET` in `.env` with a secure random value
|
||||
- [ ] Configure proper database connection string
|
||||
- [ ] Set up valid TLS certificates (replace self-signed ones)
|
||||
- [ ] Review all security settings in configuration files
|
||||
- [ ] Configure OAuth providers if enabled
|
||||
- [ ] Set up proper logging and monitoring
|
||||
- [ ] Configure firewall rules
|
||||
- [ ] Set up backup procedures
|
||||
|
||||
### Environment Variables for Production
|
||||
|
||||
```env
|
||||
ENVIRONMENT=prod
|
||||
SERVER_HOST=0.0.0.0
|
||||
SERVER_PORT=443
|
||||
SERVER_PROTOCOL=https
|
||||
DATABASE_URL=postgresql://user:password@host:5432/database
|
||||
SESSION_SECRET=your-very-secure-random-secret
|
||||
ENABLE_AUTH=true
|
||||
ENABLE_CONTENT_DB=true
|
||||
ENABLE_TLS=true
|
||||
```
|
||||
|
||||
## Support
|
||||
|
||||
For issues and questions:
|
||||
- Check the troubleshooting section above
|
||||
- Review the configuration documentation
|
||||
- Check the installation log file
|
||||
- Create an issue on the project repository
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License. See the LICENSE file for details.
|
||||
|
||||
---
|
||||
|
||||
Happy coding with Rustelo! 🚀
|
442
QUICK_START.md
Normal file
442
QUICK_START.md
Normal file
@ -0,0 +1,442 @@
|
||||
# Rustelo Quick Start Guide
|
||||
<div align="center">
|
||||
<img src="logos/rustelo_dev-logo-h.svg" alt="RUSTELO" width="300" />
|
||||
</div>
|
||||
|
||||
Get up and running with Rustelo in just a few minutes! This comprehensive guide will take you from zero to a fully functional web application with documentation.
|
||||
|
||||
## 🚀 30-Second Setup
|
||||
|
||||
### Prerequisites Check
|
||||
Before starting, ensure you have:
|
||||
- **Git** - Version control
|
||||
- **Internet connection** - For downloading dependencies
|
||||
|
||||
### One-Command Installation
|
||||
```bash
|
||||
# Clone and install everything automatically
|
||||
git clone https://github.com/yourusername/rustelo.git my-app
|
||||
cd my-app
|
||||
./scripts/install.sh
|
||||
```
|
||||
|
||||
That's it! The installer will:
|
||||
- ✅ Install Rust, Node.js, and all required tools
|
||||
- ✅ Install mdBook and Just task runner
|
||||
- ✅ Set up your project with sensible defaults
|
||||
- ✅ Configure documentation system
|
||||
- ✅ Verify everything is working
|
||||
- ✅ Generate a personalized setup report
|
||||
|
||||
## 🎯 What You Get
|
||||
|
||||
After installation, you'll have:
|
||||
|
||||
### 📁 Complete Project Structure
|
||||
```
|
||||
my-app/
|
||||
├── client/ # Frontend Leptos components
|
||||
├── server/ # Backend Axum server
|
||||
├── shared/ # Shared code and types
|
||||
├── book/ # Documentation source (mdBook)
|
||||
├── scripts/ # Helper scripts
|
||||
├── .env # Environment configuration
|
||||
├── justfile # Task runner commands
|
||||
└── book.toml # Documentation configuration
|
||||
```
|
||||
|
||||
### 🛠️ Essential Tools Ready
|
||||
- **Rust** with Cargo - Main development tools
|
||||
- **mdBook** - Documentation system
|
||||
- **Just** - Task runner for easy commands
|
||||
- **cargo-leptos** - Leptos development server
|
||||
|
||||
### 📚 Documentation System
|
||||
- Interactive documentation website
|
||||
- Auto-synced content from your docs
|
||||
- Multiple deployment options
|
||||
- Mobile-friendly design
|
||||
|
||||
### 📋 Setup Report
|
||||
- **SETUP_COMPLETE.md** - Personalized installation summary
|
||||
- Shows exactly what was installed and configured
|
||||
- Includes quick start commands for your specific setup
|
||||
- Updates automatically after any setup changes
|
||||
|
||||
## 🏃♂️ Start Developing
|
||||
|
||||
### 1. Start Development Servers
|
||||
```bash
|
||||
# Start the web application
|
||||
just dev
|
||||
|
||||
# In another terminal, start documentation server
|
||||
just docs-dev
|
||||
```
|
||||
|
||||
### 2. Open Your App
|
||||
- **Web App**: http://localhost:3030
|
||||
- **Documentation**: http://localhost:3000
|
||||
|
||||
### 3. Make Your First Change
|
||||
Edit `client/src/pages/home.rs`:
|
||||
```rust
|
||||
#[component]
|
||||
pub fn HomePage() -> impl IntoView {
|
||||
view! {
|
||||
<div class="hero min-h-screen bg-base-200">
|
||||
<div class="hero-content text-center">
|
||||
<div class="max-w-md">
|
||||
<h1 class="text-5xl font-bold">"Hello, Rustelo!"</h1>
|
||||
<p class="py-6">"Your web app is ready to build amazing things!"</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 🎛️ Essential Commands
|
||||
|
||||
### Development
|
||||
```bash
|
||||
# Start development server with hot reload
|
||||
just dev
|
||||
|
||||
# Start documentation server
|
||||
just docs-dev
|
||||
|
||||
# Run tests
|
||||
just test
|
||||
|
||||
# Check code quality
|
||||
just check
|
||||
|
||||
# Build for production
|
||||
just build-prod
|
||||
```
|
||||
|
||||
### Documentation
|
||||
```bash
|
||||
# Setup documentation system
|
||||
just docs-setup
|
||||
|
||||
# Build documentation
|
||||
just docs-build
|
||||
|
||||
# Deploy to GitHub Pages
|
||||
just docs-deploy-github
|
||||
|
||||
# Clean documentation build
|
||||
just docs-clean
|
||||
|
||||
# Show all documentation commands
|
||||
just help-docs
|
||||
```
|
||||
|
||||
### System
|
||||
```bash
|
||||
# Verify installation
|
||||
just verify-setup
|
||||
|
||||
# Show all available commands
|
||||
just help
|
||||
|
||||
# Generate setup completion report
|
||||
just generate-setup-report
|
||||
|
||||
# Update dependencies
|
||||
just update
|
||||
```
|
||||
|
||||
## 🔧 Configuration Options
|
||||
|
||||
### Choose Your Features
|
||||
Rustelo is modular. Choose what you need:
|
||||
|
||||
```bash
|
||||
# Minimal static website
|
||||
cargo build --no-default-features
|
||||
|
||||
# Full-featured app (default)
|
||||
cargo build --features "auth,content-db,email"
|
||||
|
||||
# Production with HTTPS
|
||||
cargo build --features "tls,auth,content-db,email"
|
||||
```
|
||||
|
||||
### Environment Configuration
|
||||
Edit `.env` to customize your setup:
|
||||
|
||||
```env
|
||||
# Basic Configuration
|
||||
SERVER_HOST=127.0.0.1
|
||||
SERVER_PORT=3030
|
||||
ENVIRONMENT=dev
|
||||
|
||||
# Features (true/false)
|
||||
ENABLE_AUTH=true
|
||||
ENABLE_CONTENT_DB=true
|
||||
ENABLE_TLS=false
|
||||
|
||||
# Database (choose one)
|
||||
DATABASE_URL=sqlite:database.db # SQLite (simple)
|
||||
# DATABASE_URL=postgresql://user:pass@localhost:5432/db # PostgreSQL (production)
|
||||
|
||||
# Logging
|
||||
LOG_LEVEL=debug
|
||||
```
|
||||
|
||||
## 📖 Documentation Features
|
||||
|
||||
### What's Included
|
||||
- **📚 Interactive Guide** - Searchable, mobile-friendly documentation
|
||||
- **🔄 Auto-Sync** - Automatically includes your existing docs
|
||||
- **🌐 Multi-Deploy** - GitHub Pages, Netlify, Vercel, Docker
|
||||
- **🎨 Custom Styling** - Branded documentation with your colors
|
||||
- **📱 Mobile-First** - Works perfectly on all devices
|
||||
|
||||
### Customize Documentation
|
||||
```bash
|
||||
# Edit content in book/ directory
|
||||
# Add your own sections in book/SUMMARY.md
|
||||
# Customize styling in book/theme/custom.css
|
||||
|
||||
# Build and preview
|
||||
just docs-build
|
||||
just docs-dev
|
||||
```
|
||||
|
||||
## 🗄️ Database Setup
|
||||
|
||||
### SQLite (Development)
|
||||
```bash
|
||||
# Already configured! Database file created automatically
|
||||
# Perfect for: Development, testing, small apps
|
||||
```
|
||||
|
||||
### PostgreSQL (Production)
|
||||
```bash
|
||||
# Start PostgreSQL with Docker
|
||||
docker run -d -p 5432:5432 \
|
||||
-e POSTGRES_PASSWORD=password \
|
||||
-e POSTGRES_DB=myapp \
|
||||
postgres:15
|
||||
|
||||
# Update .env
|
||||
DATABASE_URL=postgresql://postgres:password@localhost:5432/myapp
|
||||
|
||||
# Run migrations
|
||||
just db-migrate
|
||||
```
|
||||
|
||||
## 🚀 Deployment
|
||||
|
||||
### Quick Deploy to GitHub Pages
|
||||
```bash
|
||||
# Deploy documentation
|
||||
just docs-deploy-github
|
||||
|
||||
# Deploy will be available at:
|
||||
# https://yourusername.github.io/my-app
|
||||
```
|
||||
|
||||
### Check Your Setup
|
||||
```bash
|
||||
# View detailed setup information
|
||||
cat SETUP_COMPLETE.md
|
||||
|
||||
# Regenerate setup report
|
||||
just regenerate-setup-report
|
||||
|
||||
# Verify everything is working
|
||||
just verify-setup
|
||||
```
|
||||
|
||||
### Production Deployment
|
||||
```bash
|
||||
# Build for production
|
||||
just build-prod
|
||||
|
||||
# Deploy with Docker
|
||||
just docker-build
|
||||
just docker-run
|
||||
|
||||
# Or deploy to cloud platform of choice
|
||||
```
|
||||
|
||||
## 🛠️ Development Workflow
|
||||
|
||||
### Daily Development
|
||||
```bash
|
||||
# Morning routine
|
||||
just verify-setup # Verify everything is working
|
||||
just dev # Start development server
|
||||
just docs-dev # Start documentation (separate terminal)
|
||||
|
||||
# Make changes, they auto-reload!
|
||||
|
||||
# Evening routine
|
||||
just test # Run tests
|
||||
just docs-build # Update documentation
|
||||
git add . && git commit -m "Your changes"
|
||||
```
|
||||
|
||||
### Adding Features
|
||||
```bash
|
||||
# Add authentication
|
||||
# Edit Cargo.toml to include "auth" feature
|
||||
cargo build --features "auth"
|
||||
|
||||
# Add content management
|
||||
cargo build --features "content-db"
|
||||
|
||||
# Add everything
|
||||
cargo build --features "auth,content-db,email,tls"
|
||||
```
|
||||
|
||||
## 🔍 Common Tasks
|
||||
|
||||
### Add a New Page
|
||||
1. Create `client/src/pages/about.rs`
|
||||
2. Add route in `client/src/app.rs`
|
||||
3. Document it in `book/`
|
||||
|
||||
### Add API Endpoint
|
||||
1. Add handler in `server/src/api/`
|
||||
2. Register route in `server/src/main.rs`
|
||||
3. Add types in `shared/src/`
|
||||
|
||||
### Style Your App
|
||||
1. Edit CSS in `style/`
|
||||
2. Use Tailwind classes in components
|
||||
3. Build CSS with `npm run build:css`
|
||||
|
||||
### Update Documentation
|
||||
1. Edit markdown files in `book/`
|
||||
2. Build with `just docs-build`
|
||||
3. Deploy with `just docs-deploy-github`
|
||||
|
||||
## 🆘 Troubleshooting
|
||||
|
||||
### Installation Issues
|
||||
```bash
|
||||
# Verify setup
|
||||
just verify-setup
|
||||
|
||||
# Common fixes
|
||||
chmod +x scripts/*.sh # Fix script permissions
|
||||
cargo clean && cargo build # Clean build
|
||||
```
|
||||
|
||||
### Development Issues
|
||||
```bash
|
||||
# Port already in use
|
||||
SERVER_PORT=3031 cargo run
|
||||
|
||||
# Database connection error
|
||||
just db-setup # Setup database
|
||||
|
||||
# Build errors
|
||||
cargo clean && cargo build # Clean build
|
||||
just update # Update dependencies
|
||||
```
|
||||
|
||||
### Documentation Issues
|
||||
```bash
|
||||
# Documentation won't build
|
||||
mdbook build # Check for errors
|
||||
|
||||
# Documentation server won't start
|
||||
just docs-clean && just docs-build # Clean rebuild
|
||||
```
|
||||
|
||||
## 📚 Learning Path
|
||||
|
||||
### 1. Start Here (5 minutes)
|
||||
- ✅ Run the installer
|
||||
- ✅ Start development servers
|
||||
- ✅ Make your first change
|
||||
|
||||
### 2. Explore Features (15 minutes)
|
||||
- 🔐 Try authentication features
|
||||
- 📄 Add some content
|
||||
- 📧 Test email functionality
|
||||
|
||||
### 3. Customize (30 minutes)
|
||||
- 🎨 Update styling and branding
|
||||
- 📖 Add documentation sections
|
||||
- 🔧 Configure for your needs
|
||||
|
||||
### 4. Deploy (15 minutes)
|
||||
- 🌐 Deploy documentation to GitHub Pages
|
||||
- 🚀 Deploy app to your platform of choice
|
||||
|
||||
## 🎯 Next Steps
|
||||
|
||||
### Immediate
|
||||
1. **Customize branding** - Update colors, logos, text
|
||||
2. **Add content** - Write your app's content
|
||||
3. **Document features** - Update documentation
|
||||
|
||||
### Short-term
|
||||
1. **Database setup** - Configure production database
|
||||
2. **Authentication** - Set up OAuth providers
|
||||
3. **Email** - Configure email service
|
||||
|
||||
### Long-term
|
||||
1. **Advanced features** - Add custom functionality
|
||||
2. **Performance** - Optimize for production
|
||||
3. **Monitoring** - Set up logging and metrics
|
||||
|
||||
## 🔗 Useful Links
|
||||
|
||||
### Documentation
|
||||
- **[Complete Guide](https://yourusername.github.io/rustelo)** - Full documentation
|
||||
- **[Features Guide](FEATURES.md)** - Detailed feature documentation
|
||||
- **[Installation Guide](INSTALL.md)** - Detailed installation instructions
|
||||
|
||||
### Development
|
||||
- **[Leptos Book](https://book.leptos.dev/)** - Learn Leptos framework
|
||||
- **[Axum Documentation](https://docs.rs/axum/)** - Web server framework
|
||||
- **[Just Manual](https://github.com/casey/just)** - Task runner documentation
|
||||
|
||||
### Tools
|
||||
- **[mdBook Guide](https://rust-lang.github.io/mdBook/)** - Documentation system
|
||||
- **[Tailwind CSS](https://tailwindcss.com/)** - CSS framework
|
||||
- **[DaisyUI](https://daisyui.com/)** - Component library
|
||||
|
||||
## 💡 Pro Tips
|
||||
|
||||
### Productivity
|
||||
- Use `just help` to discover available commands
|
||||
- Keep documentation server running while developing
|
||||
- Use `just verify-setup` to troubleshoot issues
|
||||
|
||||
### Best Practices
|
||||
- Commit early and often
|
||||
- Document as you build
|
||||
- Test in different environments
|
||||
- Keep dependencies updated
|
||||
|
||||
### Performance
|
||||
- Use `cargo build --release` for production
|
||||
- Enable gzip compression
|
||||
- Optimize images and assets
|
||||
- Monitor performance metrics
|
||||
|
||||
## 🎉 You're Ready!
|
||||
|
||||
Congratulations! You now have:
|
||||
- ✅ A fully functional web application
|
||||
- ✅ Professional documentation system
|
||||
- ✅ Development environment ready
|
||||
- ✅ Deployment pipeline configured
|
||||
|
||||
**Start building something amazing with Rustelo!** 🚀
|
||||
|
||||
---
|
||||
|
||||
Need help? Check the [troubleshooting section](#🆘-troubleshooting) or visit our [complete documentation](https://yourusername.github.io/rustelo).
|
||||
|
||||
Happy coding! 🦀✨
|
56
README.md
56
README.md
@ -17,39 +17,39 @@ A unified, modern, and secure **Rust** platform to build, deploy, and deliver sc
|
||||
|
||||
<!-- toc -->
|
||||
- [🎯 **Core Platform Features**](#complete-feature-matrix)
|
||||
- [🚀 Quick Start](#quick-start)
|
||||
- [🚀 Quick Start](#-quick-start)
|
||||
* [Option 1: One-Command Setup (Recommended)](#option-1-one-command-setup-recommended)
|
||||
* [Option 2: Interactive Configuration](#option-2-interactive-configuration)
|
||||
* [Option 3: Manual Setup](#option-3-manual-setup)
|
||||
- [📦 Optional Features](#%F0%9F%93%A6-optional-features)
|
||||
* [🔒 TLS (`tls`)](#%F0%9F%94%92-tls-tls)
|
||||
* [🔐 Authentication (`auth`) - *Default*](#%F0%9F%94%90-authentication-auth---default)
|
||||
* [📄 Database Content (`content-db`) - *Default*](#%F0%9F%93%84-database-content-content-db---default)
|
||||
* [📧 Email System (`email`) - *Default*](#%F0%9F%93%A7-email-system-email---default)
|
||||
- [🛠️ Common Configurations](#%F0%9F%9B%A0%EF%B8%8F-common-configurations)
|
||||
- [🗄️ Database Support](#%F0%9F%97%84%EF%B8%8F-database-support)
|
||||
- [🔧 Environment Configuration](#%F0%9F%94%A7-environment-configuration)
|
||||
- [🏗️ Project Structure](#%F0%9F%8F%97%EF%B8%8F-project-structure)
|
||||
- [📚 API Endpoints](#%F0%9F%93%9A-api-endpoints)
|
||||
- [🚀 Development](#%F0%9F%9A%80-development)
|
||||
- [🐳 Docker Deployment](#%F0%9F%90%B3-docker-deployment)
|
||||
- [🔒 Security Features](#%F0%9F%94%92-security-features)
|
||||
- [📖 Documentation](#%F0%9F%93%96-documentation)
|
||||
- [🧪 Testing](#%F0%9F%A7%AA-testing)
|
||||
- [📊 Performance Considerations](#%F0%9F%93%8A-performance-considerations)
|
||||
- [🤝 Contributing](#%F0%9F%A4%9D-contributing)
|
||||
- [📄 License](#%F0%9F%93%84-license)
|
||||
- [🆘 Support](#%F0%9F%86%98-support)
|
||||
- [🎯 Use Cases](#%F0%9F%8E%AF-use-cases)
|
||||
- [🔄 Migration Guide](#%F0%9F%94%84-migration-guide)
|
||||
- [🌟 What's Next?](#%F0%9F%8C%9F-whats-next)
|
||||
- [📚 Documentation System](#%F0%9F%93%9A-documentation-system)
|
||||
- [📦 Optional Features](#-optional-features)
|
||||
* [🔒 TLS (`tls`)](#-tls-tls)
|
||||
* [🔐 Authentication (`auth`) - *Default*](#-authentication-auth---default)
|
||||
* [📄 Database Content (`content-db`) - *Default*](#-database-content-content-db---default)
|
||||
* [📧 Email System (`email`) - *Default*](#-email-system-email---default)
|
||||
- [🛠️ Common Configurations](#-common-configurations)
|
||||
- [🗄️ Database Support](#-database-support)
|
||||
- [🔧 Environment Configuration](#-environment-configuration)
|
||||
- [🏗️ Project Structure](#-project-structure)
|
||||
- [📚 API Endpoints](#-api-endpoints)
|
||||
- [🚀 Development](#-development)
|
||||
- [🐳 Docker Deployment](#-docker-deployment)
|
||||
- [🔒 Security Features](#-security-features)
|
||||
- [📖 Documentation](#-documentation)
|
||||
- [🧪 Testing](#-testing)
|
||||
- [📊 Performance Considerations](#-performance-considerations)
|
||||
- [🤝 Contributing](#-contributing)
|
||||
- [📄 License](#-license)
|
||||
- [🆘 Support](#-support)
|
||||
- [🎯 Use Cases](#-use-cases)
|
||||
- [🔄 Migration Guide](#-migration-guide)
|
||||
- [🌟 What's Next?](#-whats-next)
|
||||
- [📚 Documentation System](#-documentation-system)
|
||||
<!-- tocstop -->
|
||||
|
||||
## Complete Feature Matrix
|
||||
## 🚀 Complete Feature Matrix
|
||||
|
||||
<details>
|
||||
<summary> 🚀 click to see details </summary>
|
||||
<summary> click to see details </summary>
|
||||
|
||||
## 🎯 **Core Platform Features**
|
||||
|
||||
@ -277,9 +277,7 @@ A unified, modern, and secure **Rust** platform to build, deploy, and deliver sc
|
||||
**This makes Rustelo a complete platform for building modern web applications with enterprise-grade features out of the box! 🚀
|
||||
</details>
|
||||
|
||||
## Quick Start
|
||||
|
||||
🚀 Quick Start Guide
|
||||
## 🚀 Quick Start
|
||||
|
||||
**New to Rustelo?** Check out our **[Quick Start Guide](QUICK_START.md)** for a complete walkthrough!
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user