Skip to content

Olusammytee/TechSolutionApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

46 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TechSolutionApp - Salesforce Learning Platform

A comprehensive Salesforce DX project designed to demonstrate enterprise-level development practices, metadata management, and professional GitHub workflows. This project serves as both a functional device management application and an educational resource for Salesforce developers.

🎯 Project Overview

TechSolutionApp is a device inventory management system built on the Salesforce platform that showcases:

  • Custom Object Design: Device__c and Device_Order__c objects with proper relationships
  • Lightning Experience: Modern UI with custom tabs and Lightning App
  • Data Management: Automated data seeding and order processing workflows
  • Professional Development: Enterprise-grade metadata structure and deployment practices

Learning Objectives

By working through this project, you'll learn:

  • Salesforce DX project structure and best practices
  • Custom object and field creation with proper relationships
  • Lightning App and tab configuration
  • Permission set management and security
  • Automated deployment using Salesforce CLI
  • Professional Git workflow and documentation practices

πŸ“‹ Prerequisites

Before getting started, ensure you have the following tools installed:

Required Tools

  1. Salesforce CLI (Latest Version)

  2. Visual Studio Code with Salesforce Extensions

    • Download: VS Code βœ… Verified 2024
    • Install: Salesforce Extension Pack βœ… Verified 2024
    • Alternative IDEs: IntelliJ IDEA with Salesforce plugin, or any text editor
  3. Git (Version Control)

    • Download: Git Installation βœ… Verified 2024
    • Verify installation: git --version
    • Minimum Version: v2.20.0 or higher
  4. Node.js (Required for Salesforce CLI)

    • Download: Node.js LTS βœ… Verified 2024
    • Verify installation: node --version
    • Minimum Version: v18.0.0 or higher (LTS recommended)

System Requirements

  • Operating Systems: Windows 10/11, macOS 10.14+, or Linux (Ubuntu 18.04+)
  • Memory: 4GB RAM minimum (8GB recommended for optimal performance)
  • Storage: 2GB free disk space
  • Network: Stable internet connection for Salesforce org access

πŸ” Environment Validation

Before proceeding, validate your environment with these commands:

# Check all required tools
sf --version          # Should show v2.0.0+
git --version         # Should show v2.20.0+
node --version        # Should show v18.0.0+
code --version        # Should show VS Code version (optional)

# Verify Salesforce CLI functionality
sf --help             # Should display help without errors

# Test Git configuration
git config --global user.name    # Should show your name
git config --global user.email   # Should show your email

βœ… All commands should execute without errors before proceeding with deployment.

πŸ—οΈ Salesforce Org Setup

Step 1: Create Developer Edition Org

  1. Visit Salesforce Developer Edition Signup
  2. Fill out the registration form with your details
  3. Choose a unique username (format: yourname@yourcompany.com.dev)
  4. Verify your email and complete the setup
  5. Note your username and password for CLI authorization

Step 2: Authorize Your Org

# Authorize your Developer Edition org
sf org login web --alias GTP5org --set-default

# Verify the connection
sf org display --target-org GTP5org

Step 3: Clone and Setup Project

# Clone the repository
git clone https://github.com/Olusammytee/TechSolutionApp.git
cd TechSolutionApp

# Verify project structure
ls -la

⚑ Quick Start (5 Minutes)

For experienced Salesforce developers who want to deploy immediately:

# 1. Authorize your org
sf org login web --alias GTP5org --set-default

# 2. Deploy the application
sf project deploy start --target-org GTP5org

# 3. Assign permissions
sf org assign permset --name TechSolutions_Admin --target-org GTP5org

# 4. Open your org and manually execute data seeding (see TROUBLESHOOTING.md for details)
sf org open --target-org GTP5org

⚠️ If you encounter any issues, follow the detailed deployment guide below or check TROUBLESHOOTING.md.


πŸš€ Detailed Deployment Guide

πŸ“Š Difficulty Level: Beginner to Intermediate ⏱️ Estimated Time: 15-30 minutes πŸ“š Prerequisites: Complete the setup steps above

Follow these commands in sequence to deploy the complete application:

1. Deploy Project Metadata

# Deploy all metadata components to your org
sf project deploy start --target-org GTP5org

What this does:

  • Deploys custom objects (Device__c, Device_Order__c)
  • Creates custom fields and relationships
  • Configures Lightning App and custom tabs
  • Sets up permission sets for security

2. Assign Permission Set

# Assign admin permissions to your user
sf org assign permset --name TechSolutions_Admin --target-org GTP5org

What this does:

  • Grants read/write access to custom objects
  • Enables tab visibility in Lightning Experience
  • Provides administrative capabilities for the app

3. Seed Sample Data

# Execute data seeding script
sf apex run --file scripts/apex/data-seed.apex --target-org GTP5org

What this does:

  • Creates sample Device records (MacBook Pro, iPhone 15, etc.)
  • Generates sample Device Orders
  • Demonstrates object relationships and data structure

4. Open Your Org

# Launch your Salesforce org
sf org open --target-org GTP5org

Then navigate to App Launcher β†’ Tech Solutions to explore the application.

πŸ”§ Troubleshooting

πŸ“Š Difficulty Level: Beginner πŸ“š For comprehensive troubleshooting, see TROUBLESHOOTING.md

Quick Solutions for Common Issues

❌ CustomTab Metadata Errors

Error: Element {http://soap.sforce.com/2006/04/metadata}object invalid at this location

Quick Fix: This is a known issue we've solved! The CustomTab metadata structure was incorrect. βœ… Solution: Already fixed in this repository - the deployment should work correctly. πŸ“– Learn More: See TROUBLESHOOTING.md for detailed explanation and solution.

❌ Lightning App FormFactors Error

Error: FormFactors is required for Lightning apps

Quick Fix: This is also already resolved in the current codebase. βœ… Solution: The Lightning App metadata now includes the required <formFactors>Large</formFactors> element. πŸ“– Learn More: See COMPLETE_SETUP_EXPERIENCE.md for the full story of how we solved this.

❌ Apex Script Execution Issues

Error: sf apex run --file command fails

Quick Fix: This is a known CLI issue with multiple workarounds. βœ… Primary Solution: Use Developer Console method (detailed in TROUBLESHOOTING.md) ⚑ Steps:

  1. Run: sf org open --target-org GTP5org
  2. Navigate to Developer Console β†’ Debug β†’ Execute Anonymous
  3. Copy code from scripts/apex/data-seed.apex and execute

πŸ–₯️ Operating System Specific Notes

Windows Users:

  • Use PowerShell or Command Prompt for CLI commands
  • Ensure Node.js is in your PATH environment variable
  • Git Bash is recommended for better Unix-like command experience

macOS/Linux Users:

  • Use Terminal for all CLI commands
  • May need to use sudo for global npm installations
  • Ensure proper file permissions for script execution

πŸ†˜ Still Having Issues?

  1. πŸ“– Check TROUBLESHOOTING.md - Comprehensive solutions for all known issues
  2. πŸ“Š Review COMPLETE_SETUP_EXPERIENCE.md - See how we solved real deployment challenges
  3. πŸ” Search GitHub Issues - Check if others have encountered similar problems
  4. πŸ’¬ Create New Issue - Include your OS, error messages, and steps you've tried

πŸ“š Additional Resources

πŸ“Š Project Architecture

Object Relationships

Device__c (Master)
β”œβ”€β”€ Name (Text)
β”œβ”€β”€ Type__c (Picklist: Laptop, Smartphone, Tablet)
β”œβ”€β”€ Stock_Quantity__c (Number)
β”œβ”€β”€ Price__c (Currency)
└── Active__c (Checkbox)
    β”‚
    └── Device_Order__c (Detail)
        β”œβ”€β”€ Device__c (Master-Detail to Device__c)
        β”œβ”€β”€ Quantity__c (Number)
        └── Status__c (Picklist: Draft, Confirmed, Shipped)

Application Components

  • Tech Solutions App: Lightning application with custom branding
  • Device Tab: Interface for managing device inventory
  • Device Order Tab: Interface for processing orders
  • TechSolutions_Admin: Permission set for administrative access

πŸ“š Documentation Suite

πŸ—ΊοΈ New to our documentation? Check the DOCUMENTATION_INDEX.md for guided navigation!

This project includes comprehensive documentation designed for different learning levels:

πŸš€ Getting Started (Beginner-Friendly)

  • README.md - You are here! Complete setup and deployment guide
  • TROUBLESHOOTING.md - Solutions for common issues encountered during deployment

πŸ”§ Development Deep-Dive (Intermediate)

πŸ“Š Real-World Experience (Advanced)

πŸ“– Recommended Reading Order

  1. First-time users: Start with this README, then TROUBLESHOOTING.md if you encounter issues
  2. Learning Salesforce development: Follow with SALESFORCE_DEVELOPMENT_GUIDE.md
  3. Understanding verification: Use DEPLOYMENT_VERIFICATION_GUIDE.md after deployment
  4. Professional insights: Read COMPLETE_SETUP_EXPERIENCE.md for real-world context

πŸŽ“ Next Steps

After successful deployment, explore these learning paths:

Immediate Next Steps

  1. Complete Verification: Follow DEPLOYMENT_VERIFICATION_GUIDE.md
  2. Explore the Application: Navigate through Device and Device Order tabs
  3. Test Functionality: Create new records and test relationships

Advanced Learning Paths

  1. πŸš€ Enhancement Roadmap: Complete transformation plan for advanced features
  2. 🎯 Phase 4 Implementation: Interactive learning components with real-time workflows
  3. 🎨 Creative Features Showcase: Innovative and engaging learning experiences
  4. Lightning Development: Create custom Lightning Web Components with modern UI patterns
  5. Process Automation: Build sophisticated Flows and triggers for business logic
  6. Integration: Connect with external systems using REST APIs and Platform Events
  7. AI Integration: Implement Einstein Analytics and predictive features
  8. Performance Optimization: Advanced techniques for enterprise-scale applications

Community Engagement

  • Share your deployment experience and any additional solutions you discover
  • Contribute improvements to documentation based on your learning journey
  • Help other developers by answering questions and sharing insights

πŸ“ Contributing

This project welcomes contributions! Areas where you can help:

  • Documentation improvements: Based on your learning experience
  • Additional troubleshooting scenarios: Share new issues and solutions you encounter
  • Code enhancements: Improve metadata structure or add new features
  • Educational content: Create tutorials, videos, or additional guides

How to Contribute

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-improvement
  3. Make your changes with clear, descriptive commit messages
  4. Test your changes thoroughly
  5. Submit a pull request with detailed description

πŸ†˜ Getting Help

If You Encounter Issues

  1. Check TROUBLESHOOTING.md - Most common issues are documented here
  2. Review COMPLETE_SETUP_EXPERIENCE.md - See how we solved real deployment challenges
  3. Search existing GitHub issues - Someone may have encountered the same problem
  4. Create a new issue - Include detailed error messages and system information

Community Resources

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with ❀️ for the Salesforce Developer Community

This project demonstrates enterprise-level Salesforce development practices while remaining accessible to beginners. Each component is designed to teach specific concepts and can be extended for real-world applications.

🌟 Success Stories

Have you successfully deployed TechSolutionApp? Share your experience by creating an issue with the "success-story" label. Your journey could help other developers!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •