Giter Club home page Giter Club logo

tamostudy's Introduction

Instagram YouTube TamoStudy logo

TamoStudy

Latest Release Latest Commit Discord

TamoStudy is a free, open source work and study timer designed to enhance productivity, incorporating an enjoyable virtual pet to motivate users to concentrate on their tasks. Programmed utilizing Java 8, development for this application began in January of 2021. As of February 2024, this application will be marked in a completed state. I currently have no plans to continue development of this application.

πŸš€ Features

πŸ‘‹ Welcome Screen

An improved program launcher. Allows the user to select either local study and the soon-to-be-developed online study.

Global settings can be change using the cog at the top-right including resetting the default profile, setting the global language, and to receive update notifications. Global settings and profile information is stored onto the users drive under Documents/TamoStudy in the respective dailyfocus, globalSettings, monthfocus and profiles files. For the Stream version of TamoStudy, settings are stored in Documents/TamoStudyStream with a settings file. JSON loading is done using the JSON-simple library.

πŸ‘₯ Local Profile Loader

⏰ Focus Timers

Simple, customizable countdown timers for deep focus work.

Note Selecting the 'Peaceful' difficulty will allow you to 'pause' the timer during focus sessions. This is shown in the Pomodoro image below. If you select any other difficulty, you will not get this option, as shown in the remaining timer images.

  • Pomodoro: The popular pomodoro technique that breaks work into intervals. For a number of sessions, focus for a specified amount of time, then take a break for a specified amount of time.

  • Custom Interval Countdown: Customize the number of minutes and the number of a seconds in a single focus session.

  • 5-Interval Countdown: Easily choose a focus time from a selection of factors of 5 minutes.

  • Stopwatch: A standard stopwatch timer which counts up. The implementation in TamoStudy counts the amount of cycles (100 minutes) studied. The timer will appear back to 0 minutes and 0 seconds after each cycle.

Upon completing focus sessions, you will receive Tamo Tokens! With Tamo Tokens, you can purchase food for your virtual pet and additional customization! To keep your Tamo happy, you must complete your desired focus sessions!

πŸ›οΈ Shop

Meet Kath, the owner of the TamoStudy shop! Kath provides the user access to food to feed their tamo as well as backgrounds and borders for customization!

  • Beside the Tamo Token lies the price of the specified item.
  • Food Item Guide:
    • Onigiri replenishes 1 hunger point.
    • Chicken plate replenishes 2 hunger points.
    • Cheesecake replenishes 10 hunger points.
  • Purchasing an item will allow it to appear in the user's inventory.

πŸŒ‡ Inventory

The user's inventory allows for items to be stored and used when the user desires. The user can utilize the "Select" button next to the background of their choice to apply the background to their Tamo! If the user selects a food item, they can utilize the "Feed" button to feed the Tamo. This view also allows the user to read up on the items they have in their inventory.

πŸ“ˆ Statistics

  • View your statistics while using TamoStudy!

  • TamoStudy tracks daily, monthly, and all-time focus. The user can highlight over the boxes at the bottom to track how long they have studied in the past.

πŸ₯‡ Achievements

  • Unlock achievements during your use of TamoStudy!

  • The following is a list of achievements you can earn in TamoStudy:
    1. The Beginning - Achieve total focus time of 24 hours.
    2. Nothing can stop us! - Achieve total focus time of 72 hours.
    3. Never give up! - Achieve total focus time of 240 hours.
    4. Focus Ascension - Achieve total focus time of 1200 hours.
    5. Cosmetics - Purchase and change your Tamo's border.
    6. Scenery Change - Purchase and change your Tamo's background.
    7. From the Beginning - Update profile from previous TamoStudy release.
    8. Tamo Full - Achieve maximum Tamo hunger.
    9. Tamo Love - Achieve maximum Tamo happiness.
    10. Dedicated - Focus for 1+ hours for 3 days consecutively.
    11. Building Consistency - Focus for 1+ hours for 7 days consecutively.
    12. Tamo Scholar - Focus for 1+ hours for 30 days consecutively.

βš™οΈ Settings

  • Change the settings of TamoStudy to match your preferences!

  • For Windows users only, there is an option to toggle Discord Rich Presence.

πŸ“– Tamo History

  • Upon a Tamo being deceased, a new feature has been introduced where you can view your previous Tamos.

πŸ€– Discord Rich Presence

This implementation utilizes the DiscordRPC JAR. Discord Rich Presence is only supported on Windows devices. Development in the future will be explored so that macOS devices are supported.

  • This feature can be enabled or disabled on Windows devices in the settings menu. A refresh of the application may need to be taken depending on whether you turn it on or off.
  • The following is a collection of images that your status can be expected to show while using TamoStudy with Discord Rich Presence:

  • Note: If your computer is utilizing a lot of RAM / CPU power while using TamoStudy, it is recommended that you turn off the Discord RPC feature from the settings menu to improve performance.

πŸ› οΈ Setup TamoStudy

πŸ“ƒ Requirements

  1. Supported Operating Systems

    TamoStudy has been tested on the following operating systems:

    • Windows XP, 10, 11
    • Linux (Ubuntu 20.04 LTS)
    • macOS (Monterary, Ventura)
  2. Java Runtime Environment

    TamoStudy was developed utilizing the Java programming language. An installation of the Java Runtime Environment is required to run Java applications. TamoStudy runs on Java 8. A download for Java can be found here.

πŸ›œ Downloading TamoStudy

To download TamoStudy, read through the download page here and select the proper TamoStudy file to download corresponding to your operating system from this page. This file contains the entire application and can be opened utilizing the Java Runtime Environment.

  • Windows

    • Download the TamoStudy.exe file.
    • Upon opening for the first time, you will be required to give permission to open this application through the Windows Smart Screen. Simply allow trust the program to run.
  • Mac OS

    • Download the TamoStudy.MacOS.zip file.
    • Extract the contents of the zip file.
    • Open the application, then given permissions by searching Gatekeeper in Settings. Trust the application, then re-open the application.
  • Linux

    • There is no native Linux binary for TamoStudy. Instead, Linux users can utilize the TamoStudy.JAR file (which Windows & MacOS can both utilize as well if they choose to).
    • Upon download, you will need to provide execute permissions to run the program.

πŸ’‘ Original Concept Idea

I wanted a way to record the amount of time I spent focused every day. At the time, I was cleaning through my room and found my Tamagotchi that I used to play with when I was very young. I thought that implementing a Tamagotchi-like pet into a focus timer would be a good idea. The more I focus and get my work done, the more upgrades and new things I can do with the virtual pet (in my project, it's called a Tamo).

Project plans to include a GUI in which a user can create a username and password along with give a name for their Tamo. The user can re-load this information so they can load where they left off in their studies. (Keeping the total amount of time they have focused, and their previous Tamo alive)

The Focus GUI will have a set timer (minutes and seconds) the user can choose. When the user begins the Focus session, the timer will count down (this is the time where the user will work). After the timer is up, the session will be completed, and the Tamo will gain experience and happiness, and the user will gain money.

🌟 Contributors

Thank you for everyone that has created a pull request to support the development of TamoStudy!

And everyone else that has contributed outside of GitHub pull requests!


TamoStudy was created on January 30th, 2021 as a personal and free app! β€’ Developed by narlock
TamoStudy software applications reached over 1,000 total downloads on August 29th, 2022

tamostudy's People

Contributors

narlock avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

tamostudy's Issues

Day doesn't reset if application is not closed

As states, the date will not overwrite if the application is launched. This means that if TamoStudy is open for x amount of days, no changes will be applied as they should.

Plan is to implement the functionality that will automatically check when the day has turned, and update the Tamo stuff accordingly.
Or something around this line.

Achievement Customizer 2

The achievement Customizer 2 gets unlocked when you go to inventory and click on select.
It also doesn't change the default background.

Strikes being added on login if action is not taken

When a user logs into their TamoStudy profile, if their Tamo has happy/hunger levels to give the user a strike, a strike will be initiated. If the user logs out without fixing these values, then logs back in on the same day, the user will be giving their tamo another strike.

The plan is to implement a check that signals whether the current day has been checked for strikes. If it has, then no additional strikes will be added. This will require a change to the profile file, notably another date string, so this will be in a new release for Beta v4.2 or later.

No food visible

image
image

i had 1 slot free for food, i bought the 200 coin one thing and here you are, no more food appear in the window

New UI Buttons appearing indifferently on macOS

As the title states, here are images of the newest version of TamoStudy with the new UI Buttons. They all work perfectly fine, but they don't look as they should on macOS

Windows:
Installation Guide

Linux
Installation Guide

macOS
Installation Guide

as it remains now, I have not found a solution for this. 7/25/2021

Pomodoro mode break conditional hitting when it is not break

During some instances of TamoStudy's pomodoro feature, some triggering of timer selections during session setting/ during sessions. This most likely triggers when the user selects the "Break" button during a session or break. (Probably a break)... It seems that the conditional for isBreak is not being reset when the break focus button is selected.

At this time, there is not been an investigation on how to reproduce the bug.

Languages that are not in the latin alphabet don't render

bug

Prolly happening cuz Java still uses ASCII I'm guessing. The above screen shot is with selecting the language as Japanese. Also, dutch and chinese both show english in their menus. I'm not sure if you meant to add these languages in later updates but letting you know anyways just if you happened to miss it :)

P.S - Using windows 11

JRE not compatible

Some versions of Java Runtime environment cannot open the project, for some reason a version of SE development kit 11 must be downloaded

Food exceeding 10

If user purchases food that will increase Tamo's hunger above 10, the image will not be displayed and hunger level will surpass maximum

Issue in the background store

Hi, I wanted to buy the 5,000 coin background (I currently have 5,124 coins), but when I come in the store it seems that I can't buy it (nothing happens when I click on the purchase button). I have tried with every other item and it works fine except for the last 2 backgrounds (cf. provided screenshot)- with all the other items I have the confirmation message window that is appearing.

image

Can't load local study profile

I downloaded version 5.0 of tamo on windows yesterday and I created a study profile but then after I closed the programme and reopened it the local study file wasn't loaded and since then it has happened every time. The local study file is not loaded, in fact when I click on the 'local study' button no window opens, it basically doesn't do anything. Despite the fact that I have tried to click several times the button, despite the fact that I have also tried to forcibly restart the programme, despite the fact that I have uninstalled and reinstalled it several times and have also installed the latest version of java from the link the problem persists

High CPU consumption with Discord RPC

Pulled the following from community Discord server:

Mighty
OP
β€” 01/24/2023 11:36 AM
Hi! Loved the app been using it since yesterday but noticed a crazy amount on CPU when using it. Maybe it lacks a fps lock?
Don't know if it's a bug.
Using Windows 10, I5-7400, 16gb ram, etc
Image
narlock β€” 01/24/2023 12:50 PM
Hey @mighty, another user of TamoStudy mentioned this to me. It looks like the high CPU usage occurs for users that are utilizing the discord rich presence. The issue will be addressed in the next release - giving the user an option to enable or disable the feature. For the time being, I recommend using the older Beta v4.1
Note for other users who may look at this thread: it’s not entirely clear what kind of chip will increase CPU usage. Some users I have contacted have had no issue and have worse specifications than Mighty’s above
Mighty
OP
β€” 01/24/2023 1:33 PM
Thank you very much I will continue using 4.1, to add I used tamostudy with closed discord and also the consumption was high.
narlock β€” 01/25/2023 8:42 AM
Yeah, this could be that the program is attempting to update your presence even if Discord is not opened.

This ticket represents the issue stated above. It will be closed when a settings update has been created that allows the user to toggle the Discord RPC connection. By default, Discord RPC will be turned off.

account

I have created my account and I can't log in

Unable to create a profile on Tamo 5.0.1

Hi! I just installed Tamo 5, and I can't create a local profile. I enter my settings, and when I press "Create", nothing happens. To save time and help resolve the problem, here are the logs that I was able to display using the "java -jar TamoStudy_Beta_v5.0.1.jar" command in cmd.
Edited : I use Windows 11 with the latest version of Java 8 (build 1.8.0_391-b13)
I don't have "profiles.json" on my TamoStudy folder

java -jar TamoStudy_Beta_v5.0.1.jar
2023-10-24 19:10:32 [INFO] : TamoStudy.main : TamoStudy program starting to run.
2023-10-24 19:10:33 [INFO] : GlobalSettingsJsonManager.readJson : Attempting to read globalSettings.json
2023-10-24 19:10:33 [INFO] : WelcomeGUI.initializeAttributes : Loaded Global Settings: GlobalSettings [language=ENG, defaultLocalProfile=-1, receiveUpdateNotifications=true]
2023-10-24 19:10:35 [INFO] : ProfileJsonManager.readJson : Attempting to read profiles.json
2023-10-24 19:10:35 [INFO] : ProfileJsonManager.readJson : No profiles were found
2023-10-24 19:10:45 [INFO] : ProfileJsonManager.readJson : Attempting to read profiles.json
2023-10-24 19:10:45 [INFO] : ProfileJsonManager.readJson : No profiles were found
Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: java.util.List.of(Ljava/lang/Object;)Ljava/util/List;
at model.profile.Profile.(Profile.java:66)
at components.panel.ProfileSelectionPanel$5.actionPerformed(ProfileSelectionPanel.java:458)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.WaitDispatchSupport$2.run(Unknown Source)
at java.awt.WaitDispatchSupport$4.run(Unknown Source)
at java.awt.WaitDispatchSupport$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(Unknown Source)
at java.awt.Dialog.show(Unknown Source)
at javax.swing.JOptionPane.showOptionDialog(Unknown Source)
at gui.WelcomeGUI$3.actionPerformed(WelcomeGUI.java:177)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Please help me :(

Some assets not appearing

When buying food for the Tamo, a confirmation message appears. However, the assets do not appear on this message; they are replaced with the Java logo. This occurs for each food item. The other assets still work though!

(I’m using Mac OS)

Screen Shot 2021-05-19 at 10 08 22 AM

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.