This app/widget is based on the work of Anthony (tonesto7), which is in turn based on the earlier work of David Schablowsky

Overview

Mustang Mach-E Widget for Android

Intro

This app/widget is based on the work of Anthony (tonesto7), which is in turn based on the earlier work of David Schablowsky. It is not a complete implementation of the functionality of his widget, as it:

  • is only intended for the Ford Mustang Mach-E, as that's the only Ford I own
  • does not include all the function of tonesto7's Apple/iOS widget
  • does not currently support accounts outside of the United States

Widget example

My purpose for hosting this code on GitHub under the GPL v3 license is to provide a starting point for anyone who wants to extend its functionality.

Downloads

Download the app-release.apk file and sideload on your Android device.

Requirements

  • Android 10, 11, or 12 (may work on earlier Android versions, but not tested)
  • FordPass account (has to be working with FordPass app, and NOT MyFord Mobile)

Features

  • Will automatically fetch data from servers (default is every 10 minutes, but configurable)
  • Shows recent OTA information

Known Issues & Limitations

As listed above, this app

  • is only intended for the Ford Mustang Mach-E, as that's the only FOrd I own
  • does not include all the function of tonesto7's Apple/iOS widget
  • is not guaranteed to support accounts outside of the United States

Credits

Thanks to tonesto7 for his work on the new widget, and to dschablowsky for his work on the original widget, d4v3y0rk for finding out the information about the ford api. Additional thanks to marco79cgn and Tobias Battenberg for your widgets.

Many of the icons used in this app are derived from free ones found on Icon8; thanks to the original creators.

Disclaimer

I was inspired to create this app for Android in order to see more information about my vehicle, and to learn new things about Android programming. I am not employed by Ford, and this app is not supported by Ford. The API used can be changed at any time by Ford. I am NOT liable for any kind of damage (special, direct, indirect, consequential or whatsoever) resulting from the use of this app.

License

This code is released as open source software under the GPL v3 license: see the LICENSE file in the project root for the full license text.

Comments
  • Bug - Widget not updating

    Bug - Widget not updating

    My widget has stopped updating, even when I click refresh manually Here's the logcat output from when I click refresh: 2022-02-09 17:12:01.629 1204-13293/? D/SamsungAlarmManager: Cancel Alarm calling from uid:10594 pid :20044 / OP:PendingIntent{498b493: PendingIntentRecord{b1647fe com.example.khughes.machewidget broadcastIntent}} 2022-02-09 17:12:01.630 1204-13293/? D/SamsungAlarmManager: setInexact (T:0/F:0/AC:false) 20220209T171206 now=1177728372 - CU:10594/CP:20044/OP:PendingIntent{8bbdcd0: PendingIntentRecord{b1647fe com.example.khughes.machewidget broadcastIntent}} 2022-02-09 17:12:01.632 1204-13287/? D/SamsungAlarmManager: setInexact (T:0/F:0/AC:false) 20220209T171206 now=1177728374 - CU:10594/CP:20044/OP:PendingIntent{e2494c9: PendingIntentRecord{b1647fe com.example.khughes.machewidget broadcastIntent}} 2022-02-09 17:12:01.635 20044-20044/? V/Toast: show: caller = com.example.khughes.machewidget.MainActivity.onOptionsItemSelected:140 2022-02-09 17:12:01.645 1204-13287/? V/WindowManager: Changing focus from Window{fe03fed u0 PopupWindow:219fc11} to Window{1ab1f8d u0 com.example.khughes.machewidget/com.example.khughes.machewidget.MainActivity} displayId=0 Callers=com.android.server.wm.RootWindowContainer.updateFocusedWindowLocked:582 com.android.server.wm.WindowManagerService.updateFocusedWindowLocked:6419 com.android.server.wm.WindowManagerService.relayoutWindow:2740 com.android.server.wm.Session.relayout:242 2022-02-09 17:12:01.675 1088-1088/? I/SurfaceFlinger: [1ab1f8d com.example.khughes.machewidget/com.example.khughes.machewidget.MainActivity#0] FrameRatePriority: 1 2022-02-09 17:12:01.678 1204-13293/? D/InputDispatcher: Focus entered window (0): 1ab1f8d com.example.khughes.machewidget/com.example.khughes.machewidget.MainActivity 2022-02-09 17:12:01.749 1088-1088/? D/SurfaceFlinger: Display 4630947232161729153 HWC layers: DEVICE | 0xb400007ac8d03440 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 2400.0 | 0 0 1080 2400 | com.example.khughes.machewidget/com.[...]es.machewidget.MainActivity$_20044#0 DEVICE | 0xb400007ac8cf7230 | 0100 | RGBA_8888 | 0.0 0.0 648.0 864.0 | 432 38 1080 902 | PopupWindow:219fc11$_20044#0 DEVICE | 0xb400007ac8cd1580 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 73.0 | 0 0 1080 73 | StatusBar$_5625#0 DEVICE | 0xb400007ac8ce8e60 | 0100 | RGBA_8888 | 0.0 0.0 67.0 457.0 | 1013 356 1080 813 | com.samsung.android.app.cocktailbars[...]rservice.CocktailBarService$_12373#0 DEVICE | 0xb400007ac8cbdd50 | 0100 | RGBA_8888 | 0.0 0.0 906.0 132.0 | 87 2076 993 2208 | Toast$_5625#0 DEVICE | 0xb400007ac8d077c0 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 144.0 | 0 2256 1080 2400 | NavigationBar0$_5625#0 2022-02-09 17:12:02.002 1088-1088/? D/SurfaceFlinger: Display 4630947232161729153 HWC layers: DEVICE | 0xb400007ac8d03440 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 2400.0 | 0 0 1080 2400 | com.example.khughes.machewidget/com.[...]es.machewidget.MainActivity$_20044#0 DEVICE | 0xb400007ac8cd1580 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 73.0 | 0 0 1080 73 | StatusBar$_5625#0 DEVICE | 0xb400007ac8ce8e60 | 0100 | RGBA_8888 | 0.0 0.0 67.0 457.0 | 1013 356 1080 813 | com.samsung.android.app.cocktailbars[...]rservice.CocktailBarService$_12373#0 DEVICE | 0xb400007ac8cbdd50 | 0100 | RGBA_8888 | 0.0 0.0 906.0 132.0 | 87 2076 993 2208 | Toast$_5625#0 DEVICE | 0xb400007ac8d077c0 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 144.0 | 0 2256 1080 2400 | NavigationBar0$_5625#0 2022-02-09 17:12:02.150 1204-1524/? D/SGM:GameManager: identifyForegroundApp. com.example.khughes.machewidget, mCurrentUserId: 0, callerUserId: 0 2022-02-09 17:12:02.150 1204-1524/? D/SGM:PkgDataHelper: getGamePkgData(). com.example.khughes.machewidget 2022-02-09 17:12:03.997 1204-5788/? W/NotificationService: Toast already killed. pkg=com.example.khughes.machewidget token=android.os.BinderProxy@f582ba9 2022-02-09 17:12:04.527 1088-1088/? D/SurfaceFlinger: Display 4630947232161729153 HWC layers: DEVICE | 0xb400007ac8d03440 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 2400.0 | 0 0 1080 2400 | com.example.khughes.machewidget/com.[...]es.machewidget.MainActivity$_20044#0 DEVICE | 0xb400007ac8cd1580 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 73.0 | 0 0 1080 73 | StatusBar$_5625#0 DEVICE | 0xb400007ac8ce8e60 | 0100 | RGBA_8888 | 0.0 0.0 67.0 457.0 | 1013 356 1080 813 | com.samsung.android.app.cocktailbars[...]rservice.CocktailBarService$_12373#0 DEVICE | 0xb400007ac8d077c0 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 144.0 | 0 2256 1080 2400 | NavigationBar0$_5625#0 2022-02-09 17:12:10.381 1204-2111/? V/SamsungAlarmManager: Sending to uid : 10594 action=null alarm=Alarm{a4742b6 type 0 origWhen 1644451926629 whenElapsed 1177733372 com.example.khughes.machewidget} 2022-02-09 17:12:10.384 1204-2111/? D/ActivityManager: Received BROADCAST intent 0xb1647fe Key{broadcastIntent pkg=com.example.khughes.machewidget intent=cmp=com.example.khughes.machewidget/.StatusReceiver flags=0x4000000 u=0} requestCode=0 sent=0 from uid 1000 2022-02-09 17:12:10.401 1204-13293/? D/SamsungAlarmManager: setInexact (T:0/F:0/AC:false) 20220209T171710 now=1177737142 - CU:10594/CP:20044/OP:PendingIntent{c63ef24: PendingIntentRecord{b1647fe com.example.khughes.machewidget broadcastIntent}} 2022-02-09 17:12:10.403 1204-13293/? D/SamsungAlarmManager: setInexact (T:0/F:0/AC:false) 20220209T171710 now=1177737145 - CU:10594/CP:20044/OP:PendingIntent{341fa8d: PendingIntentRecord{b1647fe com.example.khughes.machewidget broadcastIntent}}

    bug 
    opened by mporet 28
  • Transparency background in 2022.08.23

    Transparency background in 2022.08.23

    the transparency background in/since 2022.08.23 is incorrect in the widget itself and in the intro page, but not in the settings... i have a dark/black background, transparency enabled and it was all good before this release.

    Screenshot_20220823-205738_copy_720x1440Screenshot_20220823-205722_copy_720x1440Screenshot_20220823-205758_copy_720x1440

    bug 
    opened by Eddict 15
  • Refresh time off by 4 hours

    Refresh time off by 4 hours

    I've noticed my refresh time is 4 hours behind. I can force a manual refresh and if it is successful it shows exactly 4 hours behind the actual time of refresh. When I look at the time of refresh instead of how long ago it was, it shows the wrong time, also 4 hours off. So for example if I successfully refreshed at 11:37 am EDT it shows the last successful refresh as 4 hours ago, or 7:37 am EDT. I thought this might have been an issue for a while, but I couldn't really confirm until I had the ability to force a manual refresh.

    opened by the-static 14
  • F150

    F150

    I have a 21 f150, I logged into the widget and can see a lot of info. I'd be happy to test some f150 specific updates if you are interested in pursuing that, I know the tonesto iOS widget it very popular on the f150 forum, so the user base is there.

    enhancement 
    opened by the-static 13
  • Added kuga, which is a European escape

    Added kuga, which is a European escape

    This is meant as a suggested contribution, if you disagree with the method chosen feel free to edit it. I'm not a java developer so maybe I screwed up somewhere (it works with my vehicle, cannot test on others).

    My kuga was detected as "other" and it works perfectly after modifying the it to match a PHEV instead of electric as I was missing the fuel gauge. The European Kuga is the same car as the American Escape, there is no difference except some badges and engine options .

    The modifications are as follows:

    • excluded kuga from the mache select since it thinks all Europeans drive full electric
    • Added kuga vin selection for what I know: Model number is M, Type is H or F (for Hybrid or Fueled I guess?), years are KLMN (2019-2022): e.g. mine is a MHL.

    Issues:

    • As far as I know there is now way to determine the PHEV from the FHEV from the VIN alone.
    • I have no AWD VIN, maybe those have different model numbers.
    opened by consp 12
  • Vehicle image samples for automatic color selection

    Vehicle image samples for automatic color selection

    Instructions for locating the images:

    1. Your phone needs to be rooted; there's no easy way otherwise to access the app's data
    2. Using root, locate the app's internal data storage (on my phone, it's /data/data/com.example.khughes,machewidget for the GitHub version and /data/data/org.khpylon.fswidget for the Play Store version)
    3. Copy the image file(s) under shared_prefs/images to somewhere else.
    4. Rename the files vehicle-color.png (i.e., mache-rapidred.png , f150supercab-iconicsilver.png).
      Include the file name above the image, and check whether there's already another vehicle with the same color before posting.

    Don't resize the images if possible; I need them the original size.

    mache-rapidred.png

    mache-rapidred

    help wanted 
    opened by khpylon 11
  • App is unable to get list of vehicles.

    App is unable to get list of vehicles.

    Put my login info in and get a login successful message, but then get a popup unable to get vehicles. I have uninstalled and reinstalled the app same issue.

    The app has be working for me for several months and this just started, I think a few days ago. I am on a pixel 7 and have a F150 Lightning.

    bug 
    opened by mikec85 9
  • Widget display N/A & app crashing

    Widget display N/A & app crashing

    Summary of actions:

    Phone: Samsung Galaxy S21 5G, Android 12

    1. Download latest APK
    2. Install successful
    3. Open app. Turn on logging, turn off location & app launcher options.
    4. Enter VIN, u/n & password & click log in
    5. Success popup displayed
    6. Download log (mache_logfile (3).txt)
    7. Add widget to home screen (tried Lawnchair launcher and also Samsung Launcher).
    8. WIDGET DISPLAY N/A FOR ALL VALUES (screenshot attached)
    9. Opening config app, crashes immediately w/ no error
    10. Remove widget from home screen
    11. Open app successful, download log (mache_logfile (4).txt)

    Screenshot_20220330-075315_Lawnchair

    bug 
    opened by neildmc 7
  • Vehicle Images Are Not Loading, Error in Logs

    Vehicle Images Are Not Loading, Error in Logs

    The vehicle images won't load in the app for me. The log file shows the following info:

    09/12 09:47:17 D OkHttp3: <-- 401 Unauthorized https://www.digitalservices.ford.com/fs/api/v2/vehicles/image/full?vin=&year=2022&countryCode=USA&angle=3 (72ms) 09/12 09:47:17 D OkHttp3: <-- 401 Unauthorized https://www.digitalservices.ford.com/fs/api/v2/vehicles/image/full?vin=&year=2022&countryCode=USA&angle=5 (68ms)

    (Full log attached) fsw_logfile-09-12-09_53_17.txt

    (Fresh log file attached) fsw_logfile-09-22-08_07_48.txt

    bug 
    opened by ghartz70 6
  • Bug: Widget confused by unactivated vehicle, I think?

    Bug: Widget confused by unactivated vehicle, I think?

    I've added a second vehicle to my FordPass account, an F-150 that has not been activated yet, and it seems the widget is confused by this.

    05/31 12:07:46 I 934TXS: updateAppWidget(): last vehicle update was 27164 minutes ago.
    05/31 12:07:46 I 934TXS: updateAppWidget(): last vehicle update was 27164 minutes ago.
    05/31 12:07:50 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:07:50 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:07:56 I 934TXS: StatusReceiver: next status alarm at 05/31 12:08:01
    05/31 12:07:58 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:07:58 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:07:59 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:07:59 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:08:01 I 934TXS: StatusReceiver: next status alarm at 05/31 13:08:01
    05/31 12:08:01 D 934TXS: StatusReceiver: time(-1,627,447), state(HAVE_TOKEN), battery optimization(false)
    05/31 12:08:01 D 934TXS: need to get vehicle info
    05/31 12:08:01 D 934TXS: StatusReceiver status history: Logged out(0) Log out(0) Log in(0) Updated(1,331) Vehicle Info(413) Unknown(0)
    05/31 12:08:01 D OkHttp3: --> POST https://api.mps.ford.com/api/expdashboard/v1/details
    05/31 12:08:01 D OkHttp3: Content-Type: application/json; charset=utf-8
    05/31 12:08:01 D OkHttp3: Content-Length: 130
    05/31 12:08:01 D OkHttp3: locale: en-US
    05/31 12:08:01 D OkHttp3: user-agent: FordPass/5 CFNetwork/1327.0.4 Chrome/96.0.4664.110
    05/31 12:08:01 D OkHttp3: auth-token: [deleted]
    05/31 12:08:01 D OkHttp3: application-id: 71A3AD0A-CF46-4CCF-B473-FC7FE5BC4592
    05/31 12:08:01 D OkHttp3: countrycode: USA
    05/31 12:08:01 D OkHttp3: 
    05/31 12:08:01 D OkHttp3: {"entityRefresh":{"userVehicles":{"If-Modified-Since":"Thu, 12 May 2022 19:33:54 GMT"}},"dashboardRefreshRequest":"EntityRefresh"}
    05/31 12:08:01 D OkHttp3: --> END POST (130-byte body)
    05/31 12:08:02 D OkHttp3: <-- 401 https://api.mps.ford.com/api/expdashboard/v1/details (528ms)
    05/31 12:08:02 D OkHttp3: cache-control: no-cache, no-store, max-age=0, must-revalidate
    05/31 12:08:02 D OkHttp3: pragma: no-cache
    05/31 12:08:02 D OkHttp3: content-type: application/json
    05/31 12:08:02 D OkHttp3: expires: 0
    05/31 12:08:02 D OkHttp3: strict-transport-security: max-age=31536000 ; includeSubDomains
    05/31 12:08:02 D OkHttp3: x-application-context: dashboard-service:cloud,prod:22
    05/31 12:08:02 D OkHttp3: x-b3-spanid: 5752b0817afdaad1
    05/31 12:08:02 D OkHttp3: x-b3-traceid: 1f17868cce5507fb5752b0817afdaad1
    05/31 12:08:02 D OkHttp3: x-build-version: dashboard-service 0.0.1-480-g0dfd6aa
    05/31 12:08:02 D OkHttp3: x-content-type-options: nosniff
    05/31 12:08:02 D OkHttp3: x-frame-options: DENY
    05/31 12:08:02 D OkHttp3: x-vcap-request-id: 9f44ea73-3c09-417c-75dd-03c61c12e31c
    05/31 12:08:02 D OkHttp3: x-xss-protection: 1; mode=block
    05/31 12:08:02 D OkHttp3: date: Tue, 31 May 2022 16:08:00 GMT
    05/31 12:08:02 D OkHttp3: via: 1.1 google
    05/31 12:08:02 D OkHttp3: x-from: apim
    05/31 12:08:02 D OkHttp3: x-glb-version: 1.35
    05/31 12:08:02 D OkHttp3: alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
    05/31 12:08:02 D OkHttp3: 
    05/31 12:08:02 D OkHttp3: {"requestStatus":"UNAVAILABLE","error":{"statusContext":"FIG","statusCode":200,"message":"Auth token validation failed"},"lastRequested":"Tue, 31 May 2022 16:08:01 GMT","status":200}
    05/31 12:08:02 D OkHttp3: <-- END HTTP (182-byte body)
    05/31 12:08:02 I 934TXS: getVehicles UNSUCCESSFUL.05/31 12:08:14 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:08:14 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    
    

    I'm seeing a 401 in the log, so I tried logging in again, and no change.

    I realize this is a very specific edge case.

    opened by mikebaz 5
  • Add explanation about the colors/statuses of the notification icon

    Add explanation about the colors/statuses of the notification icon

    in the info screen every icon's status and meaning is properly described and explained, but the notification icon 🔔 seems missing. cause mine is quite frequently red and I don't know exactly what is the underlying reason. or am I blind? 🙈

    opened by Eddict 4
  • OTA Info Not Updating

    OTA Info Not Updating

    Hello - The last 2-3 OTA updates have not registered in the app. Let me know if you need anything from me. Thanks for all the work you do. Love the app.

    bug 
    opened by skiingj 2
  • Feature Request - Wear OS Companion App

    Feature Request - Wear OS Companion App

    It would be awesome since Ford doesn't seem to be supporting watches (never a Wear OS one and removed support for iOS watch) if you could leverage the existing widget functionality to make a simple Wear OS companion app that would send the existing lock/unlock/remote start capabilities.

    enhancement 
    opened by CHeil402 2
Owner
null
An example on how to build a configurable widget to trigger external searches along with Liferay search to Elasticsearch.

Liferay External Searches An example on how to build a configurable widget to trigger external searches along with Liferay search to Elasticsearch. Ge

Louis-Guillaume Durand 4 Oct 25, 2021
A beautiful Clock Widget for your Desktop! (tested on Windows)

ClockWidget A beautiful Clock Widget for your Desktop! (tested on Windows) This is a clock widget that I programmed in the first year of Computer Scie

Hasan Tuna 7 Dec 15, 2022
A Text Based, Turn-Based, Strategy Game to be played in console

ConsoleGame A Text Based, Turn-Based, Strategy Game to be played in console. Feel free to fix any retardation in my code (meaning bugs, stupid/spaghet

Bertrahm 2 Jul 17, 2022
With react-native-update-in-app library you can easily implement in-app updates in your React Native app using CDN or any other file server

React Native In-App update With react-native-update-in-app library you can easily implement in-app updates in your React Native app using CDN or any o

Nepein Andrey 7 Dec 21, 2022
a simple program to turn stockX images into gifs!

StockX Gif Converter make stockx images look cool Idea I got this idea from Fyko/stockx-gif-next Usage import me.brennan.stockxgiffer.StockXGiffer; p

Brennan 7 Jul 19, 2022
An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

DevOpsify Description An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or t

obaydah bouifadene 14 Nov 8, 2022
This app based on Java to make the life of firefighters easier by implementing features which they need in their day-to-day life

Fire Rescue App This app based on Java to make the life of firefighters easier by implementing features which they need in their day-to-day life. Scre

Senith Umesha 2 Jul 24, 2022
An app which will never give you up and never let you down

rickroll-android-edition An app which will never give you up and never let you down How to install On your phone, Turn on Install apps from unknown so

null 1 Feb 3, 2022
Spring Boot microservices app with Spring Cloud, Robust and resilient backend managing e-Commerce app

e-Commerce-boot μServices Important Note: This project's new milestone is to move The whole system to work on Kubernetes, so stay tuned. Introduction

Selim Horri 65 Dec 23, 2022
This app corrects your sitting posture and provides feedback in real time in conjunction with the app. A sensor of 31 cells detects your posture to get better life-wellness

Notichair 실시간 자세분석 및 교정 스마트체어 ?? 상명대학교 PRIME 경진대회 수상 ?? 요구사항 31-cell sensor (mdxs-16-5610) 목차 1. 소개 프로젝트 내용 소개 2. 개발 환경 사전 설정 및 환경 구축 3. 기능 Sensors Ap

Minuk_LEE 3 Jan 15, 2022
An implementation of a sample E-Commerce app in k8s. This online retail marketplace app uses Spring Boot, React, and YugabyteDB.

An implementation of a sample E-Commerce app in k8s. This online retail marketplace app uses Spring Boot, React, and YugabyteDB.

yugabyte 1 Oct 27, 2022
📊It includes all the work done during the Java-React Bootcamp.

?? Java + React Bootcamp ?? Part 1 - Java Part 2 - React ?? Lecture Class: Youtube ?? Instructor: Engin Demirog ?? Course Materials: Kodlama.io Bootca

İlknur Sucaklı 20 Jun 21, 2022
CoreLib - Necessary Libraries required to make the Cores work (API 1.0.13)

CoreLib Necessary Libraries required to make the Cores work (API 1.0.13) CoreLib is a collection of necessary libraries required to make the SurvivalC

OP Heroes Development Team 1 Jan 4, 2022
A boilerplate project designed to work as a template for new microservices and help you get in touch with various useful concepts.

Microservice Reference Project This project is inspired by the idea to quickly create a production ready project with all the required infrastructure

Innovation & Tech 4 Dec 17, 2022
Example usage of work manager in Android, while doing this study, image downloading was preferred as a method.

android-workmanager-example Example usage of work manager in Android, while doing this study, image downloading was preferred as a method. Java 11 com

Adil Çetin 1 Jan 29, 2022
A Pomodoro Timer that allows you to collect Pokemon as you work.

Pomodoro: The Pokémon Collecting Game! A fun take on the Pomodoro Technique So, what does this application do? This application utilizes the famous Po

Kevin Wong 2 Jan 29, 2022
Program that allows employees to clock in and clock out of work. Employees who are managers can add, edit and delete employees and shifts from the database.

Clock-In-Clock-Out-System Created by: Kennedy Janto, Taylor Vandenberg, Duc Nguyen, Alex Gomez, Janista Gitbumrungsin This is a semester long project

null 6 Nov 5, 2022
These are examples of work/homework from the Java Camp 2022.

Hi ?? , This is Java Camp 2022 Repository These are examples of work/homework from the Java Camp 2022. ?? I’m currently working on JavaCamp2022 ?? I’m

Sırrı KÖMÜR 3 Oct 19, 2022
UMS is a CRUD based management system which uses File Handling to manipulate data and perform the CRUD operations

UMS is a CRUD (Create, Read, Update, Delete) based management system which uses File Handling to manipulate data and perform the CRUD operations. It is a group project made using Java procedural programming having both User and Admin sides.

Daoud-Hussain 9 Dec 20, 2022