Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sgr-ksmt/firetodo
Simple Todo Application using SwiftUI / Firebase / Redux.
https://github.com/sgr-ksmt/firetodo
combine darkmode example firebase ios ios13 redux reswift swift swiftui todolist xcode11
Last synced: about 12 hours ago
JSON representation
Simple Todo Application using SwiftUI / Firebase / Redux.
- Host: GitHub
- URL: https://github.com/sgr-ksmt/firetodo
- Owner: sgr-ksmt
- License: mit
- Created: 2018-12-26T12:07:02.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-07-22T04:10:03.000Z (over 2 years ago)
- Last Synced: 2025-02-12T19:15:58.361Z (8 days ago)
- Topics: combine, darkmode, example, firebase, ios, ios13, redux, reswift, swift, swiftui, todolist, xcode11
- Language: Swift
- Homepage:
- Size: 725 KB
- Stars: 379
- Watchers: 15
- Forks: 53
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
---




[](https://github.com/sgr-ksmt/FireTodo/releases)
[](https://github.com/sgr-ksmt/FireTodo/blob/master/LICENSE)Simple Todo Application using **SwiftUI**/**Firebase**/**Redux**/**Combine**.
| Light | _ | _ | _ |
| -------------------------- | -------------------------- | -------------------------- | -------------------------- |
|  |  |  |  |
|  |  |  | _ |
| Dark | _ | _ | _ |
|  |  |  |  |
|  |  |  | |## Feature
- Use SwiftUI fully.
- Use Firebase.
- Authentication
- Cloud Firestore
- Adopt Redux Architecture.
- Compatible with DarkMode.
- Adopt Context Menu for edit/delete task.
- Support iPad(Full Screen).## Setup an Run
- Clone this repository.
```sh
cd path/to/FireTodo
make # run install script.
open FireTodo.xcworkspace
```- Setup Firebase(See below.)
- After setup Firebase, you can run application!### Firebase
- Visit [console](https://console.firebase.google.com)
- Create Project. (Project name can be anything.)
- Setup Anonymous Authentication.
- Setup Firestore using test mode.(region can be anything. In my case, I chose asia-northeast-1)
- Setup `iOS Application` and download `GoogleService-Info.plist`.
- Bundle Identifier is same as project's Bundle Identifier.(e.g. `example.firetodo`)
- put `GoogleService-Info.plist` in `FireTodo/`## Dependencies
- [SwiftUI](https://developer.apple.com/xcode/swiftui/)
- [Firebase](https://firebase.google.com/docs)
- [ReSwift(for Redux architecture)](https://github.com/ReSwift/ReSwift)
- About Redux: https://redux.js.org/
- [FireSnapshot](https://github.com/sgr-ksmt/FireSnapshot): Firebase Cloud Firestore Model Framework with Codable.
- I'm developing it.## Todo
- [ ] Divide some views into Components.
- [ ] Edit user profile
- [ ] Use Combine Framework more.
- [ ] Put firestore.rules for improvement security.## Communication
- If you found a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, submit a pull request.:muscle:## License
**FireTodo** is under MIT license. See the [LICENSE](LICENSE) file for more info.