A mobile-first support document hub for employees to quickly access curated IT support documents and contact information, designed to work offline.
- Overview
- Features
- Getting Started
- Configuration
- Development
- Documentation
- Technology Stack
- Platform Support
- Contributing
- License
This application is built as a React web application that is packaged as a native iOS app using Capacitor. This allows the app to be distributed through the App Store while maintaining a single codebase.
Main dashboard showing document categories and navigation
Key Benefits:
- ✅ Single codebase for web and iOS
- ✅ Enterprise-agnostic and easily customizable
- ✅ Full offline support
- ✅ Easy content management with Markdown files
# Clone the repository
git clone https://github.com/archubbuck/enterprise-support.git
cd enterprise-support
# Install dependencies
npm install
# Start development server
npm run devVisit http://localhost:5000 to see the app running.
📖 New to this project? Check out the Quick Start Guide for detailed setup instructions.
This app is designed to be enterprise-agnostic. To customize it for your organization, edit the app.config.json file in the root directory.
Choose a template that matches your organization:
# For startups/small businesses
cp examples/app.config.startup.json app.config.json
# For large enterprises
cp examples/app.config.enterprise.json app.config.json
# For regional organizations
cp examples/app.config.regional.json app.config.jsonThen edit with your organization's information and validate:
npm run validate:app-config- ✅ JSON Schema Validation - Automatic validation with detailed error messages
- ✅ TypeScript Type Safety - Compile-time type checking
- ✅ IDE Integration - Autocomplete and inline documentation
- ✅ Example Templates - Pre-configured for different organization sizes
- ✅ Comprehensive Documentation - Detailed guides and best practices
{
"$schema": "./schemas/app.config.schema.json",
"companyName": "Your Company",
"appName": "Your Company Support",
"appId": "com.yourcompany.support",
"appSubtitle": "IT Help & Documentation",
"domain": "yourcompany.com",
"vpnPortal": "vpn.yourcompany.com",
"contacts": {
"email": "ithelpdesk@yourcompany.com",
"emergencyEmail": "security@yourcompany.com",
"regions": [
// Your company's regional contact information
]
}
}📖 Learn more:
- Configuration Guide - Detailed configuration options and schema documentation
- Examples - Example configurations for different scenarios
- 📱 Native iOS App - Runs as a native app on iPhone and iPad
- 📄 Document Browser - Browse IT support documents by category
- 🔍 Search - Quick search across all documents
- 📞 Contact Directory - Quick access to IT support contacts
- 🌐 Offline Support - All content available offline
- 🎨 Modern UI - Clean, iOS-native design
- 🎨 Theme Customization - Multiple color themes with user selection
Browse and read support documents with a clean, easy-to-read interface:
Document viewer showing formatted content with navigation
Quickly find documents using the search feature:
Search filtering documents in real-time
Access IT support contacts organized by region:
Contact directory with regional support teams
- ⚡ Fast Development - Hot module reloading with Vite
- 🎯 Type Safety - Full TypeScript support
- 📝 Markdown Content - Easy document management
- 🔧 Configurable - Enterprise-agnostic configuration system
- 🧩 Component Library - Built with Radix UI primitives
- 🎨 Theme System - Configurable color themes with runtime switching
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run buildThe development server runs at http://localhost:5000
Prerequisites: macOS, Xcode, CocoaPods
# Build and sync to iOS
npm run ios:build
# Open in Xcode
npm run ios:open
# Full workflow (build + open)
npm run ios:run📖 iOS Setup: See the iOS Development Guide for complete instructions including Windows development options.
Comprehensive documentation is available to help you get started and work with this project:
- 📚 Quick Start Guide - Get up and running quickly
- ⚙️ Configuration Guide - Customize for your organization
- 🎨 Theme Configuration Guide - Configure color themes
- 📱 iOS Development Guide - iOS-specific development instructions
- 🚀 iOS Deployment Setup - Configure GitHub Actions for App Store deployment
- 🖼️ App Icon Setup Guide - Configure and verify app icon for App Store
- 📝 Document Management - Managing support documents
- 🤖 CI/CD Pipeline - Continuous integration and deployment
- 📲 Apple Connect Metadata Automation - Automated metadata uploads
- ✨ Apple Connect Copyright Automation - Automated copyright field management
- 🔧 Troubleshooting Guide - Fix common issues
- 🤝 Contributing Guide - How to contribute to this project
- 📋 Changelog - Track project changes
enterprise-support/
├── src/ # React source code
│ ├── components/ # React components
│ ├── lib/ # Utilities and data
│ └── App.tsx # Main application
├── docs/ # Documentation files
├── public/ # Static assets
│ └── documents/ # Support document markdown files
├── ios/ # iOS native project (generated by Capacitor)
├── dist/ # Built web assets (generated)
├── app.config.json # App-specific configuration
├── capacitor.config.ts # Capacitor configuration
└── package.json # Dependencies and scripts
- React 19 - UI framework
- TypeScript - Type safety
- Vite - Build tool and dev server
- Tailwind CSS - Styling
- Capacitor - Native iOS wrapper
- Framer Motion - Animations
- Radix UI - Component primitives
npm run dev- Start development servernpm run build- Build for productionnpm run lint- Run ESLintnpm run validate:json- Validate all JSON filesnpm run validate:app-config- Validate app configurationnpm run check- Run all validation checks (JSON + app config + lint)npm run ios:build- Build and sync to iOSnpm run ios:open- Open project in Xcode (Mac only)npm run ios:run- Build, sync, and open in Xcode (Mac only)
- ✅ iOS - Full native app support
- ✅ Web - Progressive Web App
- 🚧 Android - Can be added with
@capacitor/android
We welcome contributions! Please see our Contributing Guide for details on:
- Setting up your development environment
- Coding standards and best practices
- Submitting pull requests
- Reporting issues
Please read our Code of Conduct before contributing.
- 📖 Check the documentation
- 🐛 Report bugs
- 💡 Request features
- 📝 Documentation issues
This project is licensed under the MIT License - see the LICENSE file for details.
The Spark Template files and resources from GitHub are licensed under the terms of the MIT License, Copyright GitHub, Inc.