Giter Site home page Giter Site logo

semasaf / collegeadvisormobile Goto Github PK

View Code? Open in Web Editor NEW

This project forked from patibachleda/collegeadvisormobile

0.0 0.0 0.0 1.72 MB

A mobile application that displays financial information about universities and majors to help student make a financially smart decision when choosing.

License: Apache License 2.0

Shell 0.36% Ruby 3.47% Kotlin 95.24% Swift 0.93%

collegeadvisormobile's Introduction

College Advisor Mobile

image

College Advisor Mobile is an app intended to help high school students make financially smart decisions when choosing a university and career path. The app allows you to search all 6343 universities in the United States and select the major that is offered at the selected university. Then, the app will give you an analysis of your decision including how long it would take you to pay off any loans you might have to take. Below is a demo video showcasing the features:

KotlinContest_Pati.1.1.mp4

The app is made up of four main screens:

  1. The Home screen displays a welcome with the student's name and provides 9 articles that can be read in the app about categories such as Student Loan Debt, Choosing A College, and Choosing a Major.

  2. The calculator screen first starts with a screen to take in the user's desired school and major. The majors are specific to the school selected. After selecting a school and a major the user will be redirected to a Results screen upon clicking "Calculate"

  3. The Results screen summarizes important financial information a student would need to decide about what university and degree would be best for them.

  4. The Favorites Screen allows the user to edit their name (that will display on this screen and the Home screen) and access their saved searches. The user can also remove favorites here. Clicking on the View More will load a Results screen from the selected school and major so the student can easily compare their options. Both the name and the favorites are saved on the device so they can be reaccessed when the app is closed.

Architecture

This app's architecture follows the Model-ViewModel-Model Architecture to ensure that views do not handle state changes:

Screenshot 2023-12-27 at 1 06 36 PM

Data Source

All data comes from the College Scorecard API https://collegescorecard.ed.gov/data/documentation/

Libraries used:

Use Source
Navigation adrielcafe’s Voyager
Data store russhwolf's multiplatform-settings
Web View kevinnzou's compose-webview-multiplatform
HTTP Client/Serialization Ktor
ViewModel IceRock's moko-mvvm

Set up the environment

Warning You need a Mac with macOS to write and run iOS-specific code on simulated or real devices. This is an Apple requirement.

To work with this template, you need the following:

On Android

To run your application on an Android emulator:

  1. Ensure you have an Android virtual device available. Otherwise, create one.
  2. In the list of run configurations, select androidApp.
  3. Choose your virtual device and click Run:
Alternatively, use Gradle

To install an Android application on a real Android device or an emulator, run ./gradlew installDebug in the terminal.

On iOS

Running on a simulator

To run your application on an iOS simulator in Android Studio, modify the iosApp run configuration:

  1. In the list of run configurations, select Edit Configurations:
  2. Navigate to iOS Application | iosApp.
  3. In the Execution target list, select your target device. Click OK:
  4. The iosApp run configuration is now available. Click Run next to your virtual device:

Running on a real device

You can run your Compose Multiplatform application on a real iOS device for free. To do so, you'll need the following:

  • The TEAM_ID associated with your Apple ID
  • The iOS device registered in Xcode

distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

collegeadvisormobile's People

Contributors

patrycja-bachleda avatar patibachleda 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.