Giter Site home page Giter Site logo

fuzzynat26 / light-pollution Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 999 KB

Light Pollution is a Swift Playground dedicated for exploring Light Pollution Phenomenon. This playground consists of six main contents with interactive elements on each page with modular components to closely resembles real-life light pollution.

Home Page: https://fuzzynat26.github.io/personal/portfolio/light-pollution

License: MIT License

Swift 100.00%

light-pollution's Introduction

Light Pollution

Submitted as part of Apple WWDC23 Swift Student Challenge.

Light Pollution Preview

Introduction

As someone who loves to gaze at the stars, I've found that light pollution is an inconvenience. However, it's actually much more than that - light pollution has significant impacts that we should all be aware of.

In this playground, let's learn about this phenomenon together: what it is, why we should be concerned, and what we can do to mitigate it.

This playground consists of six main contents with interactive elements on each page with modular components to closely resembles real-life light pollution.

Usage

This playground start from MyApp.swift.

It is best viewed on an iPad Pro (12.9-inch) in both portrait and landscape mode, and can also be run on macOS Swift Playground 4.3.

Technology Used

  1. SwiftUI
  2. AVFoundation

Assets

Graphic assets are created in Figma with inspiration from the Internet. Audio assets are created with my light switch (edited on Audacity).

Tools

  1. XCode
  2. Figma
  3. Notion (For note-taking)
  4. MacOS GarageBand
  5. Audacity
  6. My Light Switch :D

Credits

This playground would not be complete without the contributions from the community. Credit for various resources used in this playground can be found inside the playground.

Additionally, I would like to give credits to the following:

  • Apple Documentation
  • Stack Overflow
  • GitHub
  • YouTube
  • Forums

Directory

.
├── Assets.xcassets
├── ContentView.swift
├── MyApp.swift
├── Package.swift
├── README.md
├── components  // contains modular components
├── models      // contains observable objects
├── Resources   // contains audio resources
├── utilities   // contains extensions, functions, and etc.
└── views       // contains all views
    ├── main
    │   ├── Conclusion.swift
    │   ├── Introduction.swift
    │   ├── LightPollution.swift
    │   ├── LightPollutionAwareness.swift
    │   ├── LightPollutionTypes.swift
    │   └── WhatWeNeedToDo.swift
    └── other
        ├── Credits.swift
        ├── Onboarding.swift
        └── Settings.swift

Thanks and Have Fun Learning


Extra Notes

There are two .swiftpm file in this repository.

  1. Light Pollution (Original submission) This is the original submission for WWDC2023 Swift Student Challenge.
  2. Light Pollution (Bug Fixed) There are two bugs that I've discovered after passing the deadline, including:
    • Extra Spacer() causing moon to shift every 5 seconds in Why Should We Aware? page.
    • Directed light on Incadescent, CFL, and LED didn't went off when using light mode in What Should We Do? page.

Last edited on: 07 May 2023

light-pollution's People

Contributors

fuzzynat26 avatar

Stargazers

 avatar

Watchers

 avatar

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.