Code Monkey home page Code Monkey logo

luna-for-iphone's Introduction


Logo

Luna

Tune your cycle!

Luna is an innovative app designed to be your personal guide on the journey to maintaining a routine aligned with your menstrual cycle. It offers a range of useful features to help individuals understand and prepare for hormonal changes throughout their cycle.

Functionalities

Get to know your cycle:

With Luna, you only need to record the start of your menstruation once, and from that point, you'll have easy access to information about which phase of the menstrual cycle you're in. Additionally, the app provides insights into how these different phases impact your productivity and well-being, as each moment is influenced by different hormones that can affect your daily routine.

Prepare for hormonal variations:

Luna provides an overview of the hormonal influences you can expect in the upcoming phases of your cycle. It also suggests more suitable activities for each moment and helps identify what should be avoided during these phases. This aids in planning your routine in harmony with your body, optimizing your productivity and well-being.

Keep your cycle always in view:

The app allows synchronization with your mobile calendar, providing an easy and quick visualization of your cycle phases. It has never been easier to keep track of your menstrual cycle within your daily routine.

Data protection:

You don't need to worry about the security of your data, as Luna ensures that your personal information will not be stored in any external databases. Everything is kept only on your device, ensuring the privacy and security of your information.

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 7 Screenshot 8 Screenshot 9 Screenshot 11 Screenshot 12 Screenshot 13 Screenshot 15

Video

Assista ao vídeo

Technologies Used

Requirements

  • iOS 16.1+
  • Xcode 15.4+
  • Swift 5.10+

Installation

Clone Repository

git clone https://github.com/gabrielfelipo/luna-for-iphone.git
cd luna-for-iphone

Install the Dependencies

With Swift Package Manager:

open luna.xcworkspace

Architecture:

In the Luna project, we chose to use VIPER as it offers a clear and modular structure that facilitates code maintenance and scalability. VIPER is an architecture that clearly separates responsibilities, allowing for more organized and testable development.

View - Interactor - Presenter - Entity - Router

View <--> View Controller <--> Presenter --> Router
                                     |
                                     v
                                 Interactor
                                       |
              +------------------------+------------------------+
              |                                                 |
   Core Data Service                                 Networking Service
              |                                                 |
              v                                                 v
            Entity                                           Entity
            (data)                                      (network response)

Project Structure

Luna
├── Fastlane
├── Pods
├── luna.xcodeproj
├── luna.xcworkspace
├── luna
│   ├── Analytics
│   ├── Assets.xcassets
│   ├── Base.lproj
│   ├── Constant
│   ├── Enums
│   ├── LunaActivity
│   ├── LunaCalendar
│   ├── Managers
│   ├── MenstruationDuration
│   ├── Notification
│   └── UI
│       ├── Adapters
│       ├── Components
│       ├── Extensions
│       └── Modules
|           └── ...
├── lunaTests
├── lunaUITests
├── .gitignore
├── .ruby-version
├── .swiftlint.yml
├── Gemfile
├── Gemfile.lock
├── Podfile
├── Podfile.lock
├── README.md
├── luna.xctestplan
└── swiftgen.yml

Module Structure

Modules
├── ActivityOnCalendar
│   ├── Views
│   │   └── ActivityOnCalendarView.swift
│   ├── ActivityOnCalendarContract.swift
│   ├── ActivityOnCalendarPresenter.swift
│   ├── ActivityOnCalendarRouter.swift
│   └── ActivityOnCalendarViewController.swift

Contributors


Gabriel Felipo


Alex Damascena


Sofia Melo


Cynara Costa


Maria Vitória Bandeira


Alana Ramos

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.