Zoe is a native iOS app that provides seamless access to Zenlytic's AI-powered analytics chat feature. Built with SwiftUI, it offers a beautiful and intuitive interface for users to interact with their data through natural language conversations.
- Secure Authentication: Login with your Zenlytic credentials
- AI Chat Interface: Natural language conversations with your data
- Modern UI: Beautiful SwiftUI interface following iOS design guidelines
- Session Management: Automatic login persistence
- Real-time Messaging: Instant responses from Zenlytic's AI
- Error Handling: Comprehensive error handling and user feedback
- iOS 17.0+
- Xcode 15.0+
- Swift 5.9+
- Active Zenlytic account at https://app.zenlytic.com/
-
Clone the repository
git clone <repository-url> cd Zoe
-
Open in Xcode
open Zoe.xcodeproj
-
Configure your device
- Connect your iOS device or use the iOS Simulator
- Select your target device in Xcode
-
Build and Run
- Press
Cmd + Ror click the Run button in Xcode - The app will install and launch on your device
- Press
- Launch the app - You'll see the Zoe welcome screen
- Enter your credentials - Use your Zenlytic email and password
- Sign In - Tap the "Sign In" button to authenticate
- Start chatting - Once authenticated, you'll be taken to the chat interface
- Ask questions - Type your analytics questions in natural language
- Get insights - Zoe will analyze your data and provide insights
- Continue conversations - Ask follow-up questions to dive deeper
- Logout - Use the logout button in the top-right corner when done
The app follows a clean architecture pattern with the following components:
- ZoeApp.swift: Main app entry point with dependency injection
- ContentView.swift: Root view that handles authentication state
- LoginView.swift: Beautiful login interface with form validation
- ChatView.swift: Modern chat interface with message bubbles
- AuthManager.swift: Authentication state management
- ZenlyticService.swift: API communication layer
The app integrates with Zenlytic's API endpoints:
POST /api/auth/login- User authenticationGET /api/auth/validate- Token validationPOST /api/chat/new- Send chat messages
- Secure Storage: Authentication tokens stored securely in UserDefaults
- HTTPS Only: All API communication uses HTTPS
- Token Validation: Automatic token validation on app launch
- Session Management: Proper logout and session cleanup
The app uses a blue accent color scheme that can be customized in:
Assets.xcassets/AccentColor.colorset/Contents.json- Individual view files for specific styling
To modify API endpoints or add new features, update:
ZenlyticService.swift- API communicationAuthManager.swift- Authentication logic
-
Authentication Failed
- Verify your Zenlytic credentials
- Check your internet connection
- Ensure your account is active
-
Chat Not Working
- Verify you're logged in
- Check your internet connection
- Try logging out and back in
-
App Won't Launch
- Ensure you're using iOS 17.0+
- Clean build folder in Xcode (
Cmd + Shift + K) - Delete and reinstall the app
For development and debugging:
- Open Xcode
- Set breakpoints in relevant files
- Use the debug console to view logs
- Check network requests in the Network tab
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Visit https://app.zenlytic.com/
- Check the documentation
- Contact the development team
- v1.0.0 - Initial release with authentication and chat features
Built with ❤️ for Zenlytic users