This is the repository for RoutinA-iOS, created by Group 4 of the 2025-1 Mobile Programming class at Gachon University.
| Seulgi Lee | Jaehyeok Lee |
Login ScreensAlarm/Routine Create/Edit/DeleteCustom Calendar |
Splash ScreenRoutine Execution & Result LoggingAchievement Feedback |
| Name | Version | Description |
|---|---|---|
| Moya | 15.0.3 |
A network abstraction layer based on Alamofire that simplifies API requests. |
| FSCalendar | 2.8.4 |
A highly customizable calendar library for iOS, supporting month views, multiple selections, and event indicators. |
-
Main Branches
main: Stable code ready for production releasedevelop: Main development branch for feature integration
-
Workflow
-
Create a GitHub Issue
e.g.#111 Implement user login feature -
Create a working branch
- Feature:
feature/#[issue-number]-title
e.g.feature/#111-login - Bug fix:
fix/#[issue-number]-title
e.g.fix/#111-login - Refactor:
refactor/#[issue-number]-title
e.g.refactor/#111-login
- Feature:
-
Work on your branch
-
Push to remote
-
Create a Pull Request to
develop, get reviewed, then merge and delete the branch
-
We follow the StyleShare Swift Style Guide.
Naming Rules
- Variables/Constants: camelCase (e.g.
userName) - Classes/Structs: PascalCase (e.g.
UserProfile) - Functions/Methods: Start with a verb, use camelCase (e.g.
fetchData())
Code Style
- Prefer explicit type declarations (e.g.
var name: String = "name") - Use
guardorif letto safely unwrap optionals - Keep function parameters short and meaningful
-
Feature
- Issue: ✅ Feature
- Description: Feature details
- TODO:
- Implementation tasks
- ETC: Notes or things to discuss
-
Fix/Bug
- Issue: 🐞 Fix / Bug
- Description: Explain the bug
- Cause: Root cause
- Solution: Fix plan
- Result: Confirmation
- ETC: Any extra notes
-
Refactor
- Issue: ♻️ Refactor
- Description: What needs refactoring
- Before: Current state & reason for change
- After: Expected structure after change
- TODO:
- Refactoring tasks
- ETC: Additional notes
**🔗 Related Issue**
Mention related issue(s) (e.g. #123)
---
**📌 Summary**
A brief summary of the PR and its purpose.
---
**📑 Details**
List the detailed work done:
1. Task 1
2. Task 2
3. Task 3
---
**📷 Screenshot (optional)**
---
**💡 Additional Notes**
Mention any testing methods, edge cases, or impacts on the codebase.feat: Add a new featurefix: Fix a bugdocs: Documentation changes onlystyle: Code formatting or styling (e.g. spacing)refactor: Refactor code without changing behaviordesign: UI-related design updates
// Format
[[Type]/#[Issue Number]]: [Description]
// Example
[feat/#1]: Implement login feature
[fix/#32]: Fix login API error📦routina-mobile-ios
┣ 📂App # Main app entry views (AppDelegate, RootView, etc.)
┃ ┣ 📂Component # Reusable UI components (buttons, layouts, etc.)
┃ ┣ 📂Do # Views and logic related to routine execution
┃ ┣ 📂Login # Authentication-related views and state
┃ ┣ 📂Plan # Routine creation/editing screens
┃ ┣ 📂See # Stats and feedback screens
┃ ┣ 📂Utils # Global utilities and constants
┃ ┣ 📄AppDelegate.swift # App lifecycle handling
┃ ┣ 📄RootView.swift # Main root view after login
┃ ┣ 📄SplashView.swift # Splash screen shown on launch
┃ ┗ 📄WelcomeView.swift # Onboarding and login entry view
┣ 📂Fonts # Custom font files and configuration
┣ 📂Helper # ViewModels, extensions, and utility logic
┣ 📂Network # Moya-based API layer, DTOs, and networking
┗ 📂Resources # Assets like images, sounds, etc.