h1ckstead / spellingtrainer Goto Github PK
View Code? Open in Web Editor NEWApplication for spelling practice
Home Page: https://spellingtrainer.wixsite.com/download
Application for spelling practice
Home Page: https://spellingtrainer.wixsite.com/download
mac M2 13
Albert
Bad
Bahh
Bells
Boing
Bubbles
Cellos
Daniel
Wobble
Eddy
Eddy
Flo
Flo
Fred
Good
Grandma
Grandma
Grandpa
Grandpa
Jester
Junior
Karen
Kathy
Moira
Organ
Superstar
Ralph
Reed
Reed
Rishi
Rocko
Rocko
Samantha
Sandy
Sandy
Shelley
Shelley
Tessa
Trinoids
Whisper
Zarvox
mac Intel 13
Albert
Bad
Bahh
Bells
Boing
Bubbles
Cellos
Daniel
Wobble
Eddy
Eddy
Flo
Flo
Fred
Good
Grandma
Grandma
Grandpa
Grandpa
Jester
Junior
Karen
Kathy
Moira
Organ
Superstar
Ralph
Reed
Reed
Rishi
Rocko
Rocko
Samantha
Sandy
Sandy
Shelley
Shelley
Tessa
Trinoids
Whisper
Zarvox
monterey
Alex
Alice
Alva
Amelie
Anna
Carmit
Damayanti
Daniel
Diego
Ellen
Fiona
Fred
Ioanna
Jorge
Juan
Kanya
Karen
Kyoko
Laura
Lekha
Luca
Luciana
Maged
Mariska
Mei-Jia
Melina
Milena
Moira
Monica
Nora
Paulina
Rishi
Samantha
Sara
Satu
Sin-ji
Tessa
Thomas
Ting-Ting
Veena
Victoria
Xander
Yelda
Yuna
Yuri
Zosia
Zuzana
When the user tries to manually add a new word with alt spelling check that the words are actually different, if not show a message saying something along the lines of "Make sure British and American spellings are different".
import webbrowser
# Specify the email address
email_address = "[email protected]"
# Specify the subject
subject = "Feedback for Spelling Trainer"
# Specify the message body with the title and app version
title = "Spelling Trainer Feedback"
app_version = "1.0.0"
body = f"Hello,\n\nI wanted to provide feedback for the Spelling Trainer app.\n\nTitle: {title}\nApp Version: {app_version}\n\n[Your feedback here]"
# Generate the mailto URL with the email address, subject, and message body
mailto_url = f"mailto:{email_address}?subject={subject}&body={body}"
# Open the default email client with the pre-filled message
webbrowser.open(mailto_url)
Avatars:
Paste this link on the website where your app is available for download or in the description section of the platform or marketplace you’re using.
Image by Freepik
Icons
https://uxwing.com/
App logo
Bee Icon Vectors by Vecteezy
Text="Are you sure you want to delete {number} words? This action cannot be undone"
[Cancel] [Delete]
Guide on dark theme design: https://compilezero.medium.com/dark-mode-ui-design-the-definitive-guide-part-1-color-53dcfaea5129
Mainframe: #333333
Blocks: #2b2b2b
, border: #292929
CTA buttons: #246ba3
, hover: #17496f
, disabled: #565b5e
Buttons: #333333
, hover: #212121
Text: #dce4ee
Line: #aab0b5
Avatar selection: #ffffff
User stats:
Attempts: #3c9fea
Correctly: #29a589
Learned words: #105728
To learn: #f8c543
Incorrectly #ec4939
Validation labels:
Correct: #0a5826
Incorrect: #ef4831
Now word definitions show to user without formatting
Here are some commonly used specifications for the specified icon sizes:
When user edits username and goes to change user page in the dropdown old username appears
Some words have different spelling in AmE and BrE, user should have the ability to control whether this is counted in by the app.
Make a setting "strict_spelling", if checked only one version of the spelling will be counted as correct. Practice page will show which variation it is expecting. If unchecked (default), both spellings will count as correct.
Counter "times_to_spell" is shared between both variants
User must have the ability to manually add words to his vocabulary for practice
User must have the ability to change avatar, name and toggle "strict spelling"
physic
ethernet
diarrhea
chris
elephentisis
cleats
diphtheria
capstan
clinton
cosal
madrid
Voluptuous
Acdbentity
Admin
Adware
Against
Alot
Although
Ambien
Among
Amongst
Ampland
Antivirus
Antonio
Anybody
Anyone
Anything
Anytime
Apps
Barnes
Barry
Basename
Because
Bedford
Beside
Bloomberg
Bluetooth
Bool
Brian
Bufing
Carb
Changelog
Charlie
Chris
Citysearch
Claire
Conferencing
Config
Could
Cyber
Dealtime
Downloadable
During
Ebook
Electro
Else
Endif
Eval
Everybody
Everyone
Everything
Expansys
Findlaw
Flickr
From
Frontpage
Gamespot
Gmbh
Goto
Gotta
Gratuit
Groundwater
Guestbook
Herself
Himself
Holdem
Houseware
Housewive
Inbox
Intel
Into
Invision
Itself
Keyword
Lightbox
Listprice
Login
Mastercard
Meetup
Meta
Metallica
Minolta
Monica
Motherboard
Motorola
Multi
Myself
Nano
Nintendo
Offline
Onto
Ought
Ourselves
Packard
Plugin
Postposted
Preston
Prix
Propecia
Pubmed
Rehab
Remix
Reseller
Ringtone
Runtime
Screensaver
Screenshot
Should
Signup
Since
Slideshow
Something
Stan
Struct
Sublimedirectory
Symantec
Than
That
Thats
Their
Them
Themselves
These
They
This
Those
Titten
Toolbar
Toolkit
Toward
Trackback
Trembl
Turbo
Twiki
Unless
Unsubscribe
Unto
Upon
Versus
Wanna
What
When
Whenever
Where
Whereas
Which
Whilst
Whom
Whose
Widescreen
Wikipedia
Winston
Wishlist
With
Without
Womens
Wordpress
Worldcat
Would
Your
Yours
Yourself
https://pypi.org/project/tkinter-tooltip/
Tooltips are needed on User Profile Page in the statistics sections
state="normal" --> state=tkinter.NORMAL
Tooltips don't work
White background on tkinter Labels
Incorrect avatar size on vocabulary page
macOS build:
pyinstaller -n "Spelling Trainer" -F --add-data "/Users/victorialazareva/PycharmProjects/SpellingTrainer/app/assets:assets" --add-data "/Users/victorialazareva/PycharmProjects/SpellingTrainer/venv/lib/python3.11/site-packages/spellchecker/resources/en.json.gz:spellchecker/resources" --collect-all customtkinter --collect-all RandomWords --icon "/Users/victorialazareva/PycharmProjects/SpellingTrainer/app/assets/favicon.icns" main.py
Text in some Labels can be too long and needs to be eclipsed and full text displayed in a tooltip:
[:50]
)Example without tooltip:
`import tkinter as tk
def truncate_text(text, max_length):
if len(text) > max_length:
truncated_text = text[:max_length-3] + "..."
else:
truncated_text = text
return truncated_text
root = tk.Tk()
root.columnconfigure(0, minsize=200)
root.columnconfigure(1, minsize=200)
root.rowconfigure(0, minsize=50)
label_text = "This is a long label that should be truncated if it exceeds the available space"
max_label_length = 25
truncated_label_text = truncate_text(label_text, max_label_length)
label = tk.Label(root, text=truncated_label_text, wraplength=180, anchor="w")
label.grid(row=0, column=0, sticky="w")
root.mainloop()`
May use offline lib pyttsx3 for reading words aloud instead of native mac "say" command
However, you may want to strip white space because:
bool("")
False
bool(" ")
True
bool(" ".strip())
False
Avatar names may be changes and code still should work
macOS:
Fred, Fiona, Victoria, Tessa, Oliver
When manually adding words to the vocabulary, the page counter updates but pagination buttons stay disabled
Maybe use pip install search-suggestion ?
Size is current actual size in the widgets, size in parenthesis is minimal required resolution for adequate scaling
#dce4ee
#abb0b6
#6bbe66
#ff4141
#f8c543
grep words without definitions, populate manually
Investigate the bug where definition is truncated:
{'Hostility': {'definition': {'Noun': ['a hostile (very unfriendly'
TO DELETE:
Bradley
Ices
Elephantiasis
Burgomaster
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.