SingleScreenApp is a modern iOS application built with SwiftUI that demonstrates professional mobile development practices. The app provides a simple yet elegant user interface for creating and fetching user data through REST API integration.
- User Creation: Create new users with name and email validation
- User Fetching: Retrieve user profiles from the API
- Premium UI/UX:
- Neumorphic design with subtle shadows and rounded corners
- Real-time form validation with feedback
- Toast notifications for success/error states
- Haptic feedback on interactions
- Smooth animations and transitions
- Robust Error Handling: Comprehensive error states and user feedback
- Dark Mode Support: Full support for iOS light/dark appearances
- Responsive Design: Adapts to different iPhone sizes
- Swift 5: Latest language features including async/await
- SwiftUI: Modern declarative UI framework
- Combine: Reactive programming for state management
- MVVM Architecture: Clean separation of concerns
- Unit Testing: XCTest framework for reliability
- iOS 15.0+
- Xcode 14.0+
- Swift 5.5+
- Clone this repository
git clone https://github.com/eres45/testIOS.git- Open the project in Xcode
cd testIOS
open SingleScreenApp.xcodeproj- Build and run the app (β+R)
SingleScreenApp/
βββ Views/ # UI components and screens
βββ ViewModels/ # Business logic and state management
βββ Models/ # Data structures
βββ Services/ # API and data services
βββ Utilities/ # Helper extensions and components
βββ Tests/ # Unit and UI tests
This app implements the MVVM (Model-View-ViewModel) architecture:
- Models: Data structures that match API responses
- Views: SwiftUI views responsible only for UI presentation
- ViewModels: Business logic, state management, and data processing
- Services: API interaction and data handling
The app integrates with the ReqRes API for demonstration purposes:
POST /api/users- Create userGET /api/users/{id}- Fetch user by ID
Run the tests in Xcode:
- Select Product > Test (β+U)
- View test results in the Test Navigator
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by a passionate iOS developer ERES