FocusSpace - A time-management tool to help you stay focus with your friends

Overview

FocusSpace 🏆 ElleHacks2022 - (Telus) First Place

👩 Developers

Manyi Cheng(@manyicheng), Senni Tan(@senni0418)

Inspiration

The covid pandemic significantly changed our lifestyle, with the majority of our work transition to online. People in our community face a slew of new challenges due to the pandemic situation. Procrastination, diminished collaboration, and overworking have emerged as challenges. Study shows that  remote employees work longer hours and spend more time communicating. Approximately 70% of remote professionals now work on weekends, and 45% regularly work more hours during the week than they had before.

📱 What it does

It is an innovative iOS app to help the community beat procrastination and focus with friends. It also encourages people to take some rest during their work, helping remote employees to disconnect from their work. combined-view

💻 How we built it

We use Swift 5 to build our solution in an iOS Xcode project. We use cockroachDB to host our database. We used the MVC pattern to implement the application. All of the views are in SwiftUI, and it is iOS compatible.

Challenges we ran into

Most of the challenges come from learning new things, we are all beginners to SwiftUI and iOS development aside from an online tutorial. Second, we had never tried to connect the Xcode project to a cloud database before, so we had read lots of articles on connecting cloud Postgres databases in swift. Third, we had never used SwiftUI before, both of us only have experience with Xcode in storyboard. Moreover, the data flow in Swift is difficult and confusing for us, so it took a really long time to just debug why a variable wasn’t binding as expected.

📝 Accomplishments that we're proud of

We were able to create an iOS app from scratch that uses SwiftUI and cockroachDB with just the two of us. We learned lots of new skills during this hackathon.

Screen Shot 2022-02-13 at 03 48 26

🎓 What we learned

We learned a lot of SwiftUI and also how to integrate CockroachDB, chart seamlessly into our iOS application.

🔍 What's next for FocusSpace

We would like to improve the application performance and user experience. We plan to integrate google sign in with our login view. As the amount of users grows, we will separate the storage of user authentication information and the user activity log. We will store users’ authentication info in firebase to have safer protection for users’ credentials. And the user’s activity log will be kept in cockroachDB since it is a well scalable cluster database service. We are considering adding charting functionality for users to communicate in the virtual room. We can also add different themes for the app interface and the piechart.

Screen Shot 2022-02-13 at 03 48 38

You might also like...
Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Страницы доступны на sparrowcode.io/en & sparrowcode.io/ru Как добавить свое приложение Добавьте элемент в json /ru/apps/apps.json. Если ваше приложен

Repository to help people learning testing

Testing Training The purpose of this repository is to help people learn the basics of testing in Swift. I decided to prepare this repository because m

C-41 is an application to help people develop film at home by providing a series of
C-41 is an application to help people develop film at home by providing a series of "recipes" for photographers to use

C-41 C-41 is an application to help people develop film at home by providing a series of "recipes" for photographers to use. The app demonstrates how

Rosetta Enforcer is a macOS utility designed to help developers convert Universal Binary application to Single Architecture, vice versa.
Rosetta Enforcer is a macOS utility designed to help developers convert Universal Binary application to Single Architecture, vice versa.

Rosetta Enforcer Rosetta Enforcer is a macOS utility designed to help developers convert Universal Binary application to Single Architecture, vice ver

Command line tool for exporting resources and generating code from your Figma files
Command line tool for exporting resources and generating code from your Figma files

Fugen Fugen is a command line tool for exporting resources and generating code from your Figma files. Currently, Fugen supports the following entities

A Swift command line tool for generating your Xcode project
A Swift command line tool for generating your Xcode project

XcodeGen XcodeGen is a command line tool written in Swift that generates your Xcode project using your folder structure and a project spec. The projec

A command line tool for managing Swift Playground projects on your Mac.

swift-playground-tools A command line tool for managing Swift Playground projects on your Mac. Generate Xcode Project $ playground-tools generate-xcod

Quotes shows you famous quotes to, hopefully, give you enlightment
Quotes shows you famous quotes to, hopefully, give you enlightment

"Quotes" shows you famous quotes to, hopefully, give you enlightment! You can also save/favorite the quotes that you liked to review later or show to your friends!

Owner
Manyi Cheng
"In order to understand recursion, one must first understand recursion." -Anonymous.
Manyi Cheng
A Simple way help you drop or drag your source (like UIImage) between different App.

A Simple way help you drop or drag your source (like UIImage) between different App.

逸风 13 Nov 24, 2022
It can help you to prepare yourself for interview 🚀

Note I will keep updating the content table as I am going through, keep connected to stay updated ! Contribution You can contribute here as well, crea

Mohammad Yasir 4 Mar 21, 2022
Receive keyboard input even when Unity.app is in the background with no focus on macOS.

UnityAppEventMonitor Unity Native Plugin for NSEvent.addGlobalMonitorForEvents. Receive keyboard input even when Unity.app is in the background with n

fuziki 6 Aug 26, 2022
You can monitor your APIs and websites on your menubar. Gives you status code 🎉 Cool & good

Hope not. Monitor your APIs and websites on your menubar. For macOS. Right now! YyeeeHav!

Steven J. Selcuk 10 Nov 29, 2022
ExpoMod - a small application tool that lets you quickly setting up your computer for presentations / exhibitions

ExpoMod is a small application tool that lets you quickly setting up your computer for presentations / exhibitions. Or simply having useful shortcut to not being distract and keep awake your computer.

Niemes 10 Jun 29, 2022
Save development time! Respresso automatically transforms and delivers your digital assets into your projects

Introduction Respresso is a centralized resource manager for shared Android, iOS and Web frontend projects. It allows you to simply import the latest

Respresso 10 Nov 8, 2022
Save development time! Respresso automatically transforms and delivers your digital assets into your projects

Respresso Android client Respresso is a centralized resource manager for shared Android, iOS and Web frontend projects. It allows you to simply import

Respresso 11 May 27, 2021
Save development time! Respresso automatically transforms and delivers your digital assets into your projects

Respresso iOS client Respresso is a centralized resource manager for shared Android, iOS and Web frontend projects. It allows you to simply import the

Respresso 50 May 1, 2021
🧸 Xcode Playground management made easy

Toybox Toybox made easy to manage Xcode Playgrounds. You can create and open Xcode Playground from CLI. $ toybox create Snippet # Generate ~/.toybox/S

Kohki Miki 130 Nov 8, 2022
Dicee-SwiftUI - This app show random dicee every time the you make click in button roll

Dicee-SwiftUI This app show random dicee every time the you make click in button

Adriancys Jesus Villegas Toro 0 Feb 4, 2022