Giter Site home page Giter Site logo

maheshmnj / vocabhub Goto Github PK

View Code? Open in Web Editor NEW
45.0 6.0 10.0 35.63 MB

An app to help you build your vocabulary. This app contains 800+ curated GRE words

Home Page: https://vocabhub.web.app/

License: Apache License 2.0

Kotlin 0.01% Ruby 0.04% Swift 0.02% Objective-C 0.01% Dart 99.86% HTML 0.06% JavaScript 0.01%
flutter flutterweb android vocabulary-builder vocabulary vocabulary-flashcards vocabulary-learning hacktoberfest

vocabhub's Introduction

Vocabhub 0.7.8

Supercharge your vocabulary with our comprehensive app designed to help you excel in English! Whether you're preparing for the GRE or simply aiming to enhance your language skills, this app is your ultimate companion. Unlock the potential of over 800 meticulously curated GRE words, carefully selected to bolster your word power.

Our app goes beyond just presenting words; it empowers you to truly master them. Keep track of your progress as you conquer words, marking them as mastered and solidifying your understanding. With our intuitive interface, effortlessly navigate through your learned words while exploring exciting new vocabulary.

Stay motivated and inspired with our engaging 'Word of the Day' feature. Every day, discover a captivating new word accompanied by its definition, example usage, and additional insights to broaden your linguistic horizons.

What sets us apart is our commitment to collaboration and community. Our app is an open-source crowd platform, welcoming contributions from every user. Join our network of language enthusiasts, and contribute to our expanding database by suggesting edits, offering alternative definitions, or sharing additional examples. Together, we can collectively improve the quality and accuracy of our word collection, fostering a community-driven platform for continuous learning.

Download the app now and embark on an enriching vocabulary journey. Enhance your language skills, build your confidence, and embrace the power of words. Start expanding your linguistic repert`oire today.

Key Features:

  • 800+ most common GRE words
  • Synonyms, mnemonics, and examples provided for a comprehensive understanding of each word
  • Intelligent search functionality allows you to search for a word based on its meaning or synonym.
  • Supports dark mode and offers various themes to make learning an enjoyable experience
  • Supports offline mode to help you learn on the go.
  • Ability to suggest edits to improve the words on the platform
  • Create Custom word collections to help you learn words based on your interests.
  • Contributions on the platform are transparent and can be viewed by all users.
  • Scroll Words Automatically with HandsFree mode under explore
  • Edits made for all words are transparent and can be viewed by all users.
  • Regular updates with new words and features to keep your vocabulary journey exciting and dynamic.

Platform

Android iOS MacOS Web

Mobile

Preview 1 Preview 2 Preview 3
Preview 4 Preview 5 Preview 6
Preview 7 Preview 8 Preview 9

Design

The app is designed using Material Design guidelines. The design files can be found here

Projects Specifications and steps on running the app see the wiki page

Redesigned for the Web v0.4.2

v0.4.2

Adds Support for Dark Mode (Web only)

v0.2.2
v0.2.0
v0.1.0

Contributing

Feel Free to contribute to this app to make the platform better.

Design files for this project can be found here https://www.figma.com/file/xPCoi1IcW8M6TODTqjG9GZ/Vocabhub?node-id=0%3A1

Data is no longer being collected into this sheet. Contribution does not necessarily mean sending a pull request you could also contribute by improving the sheet.

This problem can be solved using greedy approach. Let n be the total number of jobs with J = {1, 2, 3, 4 … n} with their finish times C = {c1, c2, c3,... cn} and corresponding weights W = {w1, w2, w3 … wn}

The idea is to sort the jobs in descending order of their ratio wi/ti and then calculate the weighted sum

vocabhub's People

Contributors

imgbotapp avatar maheshmnj 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

vocabhub's Issues

Error when trying to sign in

Describe the bug
The "Failed to sign in user" error is thrown when i try to sign in with my Google account. I tried with 2 different accounts but the error still persists.

To Reproduce
Steps to reproduce the behavior:

  1. Open the app
  2. Click on 'Sign in with Google'
  3. See error

Expected behavior
I expected my account to be signed in.

Screenshots

cap

Smartphone (please complete the following information):

  • Device: [e.g. Redmi Note 9 Pro]
  • OS: [e.g. Android 11 RKQ1.200826.002]

[Explore Words] Improve learning experience

Words should auto-scroll with animation at the top

  • Improve Cards UI

  • Add AutoScroll Setting with AutoScroll Duration (AutoScroll should pause when not in Explore)

  • Explore words should smartly insert words based on User preferences.

[WIP] Maintaining the Project

Describe the bug
This is a set of consolidated Issues to help maintain this project

  • Add Integration tests
  • Clarify contributing guidelines
  • Create different development and Production environment

Improve User Experience

  • Add Typing Words Animation on Login Page with key vibrate
  • Add a Configurable option to vibrate on type animation in word detail

Shuffle should be used for sort

Is your feature request related to a problem? Please describe.
Sort the words based on

  • Last Update time
  • Last, Create time
  • Random
  • alphabetic

Implement Push Notifications

Users should be notified

  • Notify to wod topic when a new word is published.
  • When their contributions are approved/rejected
  • Users should be subscribed to "word of the day" topic
  • Users should be subscribed to "Daily Reminder" topic
  • Users should be able to unsubscribe/turn off notifications from settings
  • Launch notifications when a notification is tapped.
  • Schedule daily reminders at the chosen time
  • Notification for App Update

Admins should be notified

  • When a new add/edit request is made
  • When a user reports a bug/feature request

Reward contributers with a badge

Implementing a badge system can be a fun and rewarding way to incentivize user contributions on Vocabhub. Here are some badge names that we can consider awarding to users based on their contributions:

Word Master: Awarded to users who have mastered a specific number of words on Vocabhub.

Language Guru: Given to users who have contributed extensively to language-related discussions and interactions.

Synonym Sleuth: Awarded to users who have provided a significant number of synonyms for various words.

Definition Maven: Given to users who have contributed in-depth and accurate definitions for words.

Vocabulary Enthusiast: Awarded to users who have actively engaged with the app and contributed to vocabulary growth.

Word Explorer: Given to users who have explored a diverse range of words in the app's explore section.

Daily Devotee: Awarded to users who consistently engage with the "Word of the Day" feature.

Language Ambassador: Given to users who have shared the app and introduced it to others.

Thesaurus Titan: Awarded to users who have contributed numerous synonyms for a wide variety of words.

Grammar Guardian: Given to users who have helped improve grammar and language usage in app content.

Remember to set specific criteria and thresholds for earning each badge, and ensure that users feel motivated to contribute positively to the community. Badges can be a great way to recognize and reward users for their efforts and foster a sense of achievement and community engagement on Vocabhub.

Suggest similar words

Is your feature request related to a problem? Please describe.
When the user opens a word detail screen a similar word must be suggested at the bottom, A similar word refers to a word that is similar in spelling or sound.

Some of the similar words are

Panacea | Panache
Minute | Minuet
Prodigy | Prodigal
Extant | Extent
Loath | Loathe

i.e when Panacea is expanded Panache must be suggested and vice versa.

or also words which have similar Anagram (An anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.)

Describe the solution you'd like

A similar word can be queried from the existing set of words by using the Levenshtein distance algorithm or only based on the spelling if the spelling is 90% or more similar.

Additional context
Having a similar word for each word helps reduce confusion for such similar-sounding words.

New user should be taken to Login on Mobile

Describe the bug
Currently fresh installation of the app is taking the user to homeScreen user should be redirected to login.

To Reproduce
Steps to reproduce the behavior:

  1. Fresh install app
  2. launch the app

Expected behavior
Login page should be launched

Actual Results
Home page is launched

Feature: Learn with a Daily Streak

Is your feature request related to a problem? Please describe.
To help users learn words and maintain consistency we need a daily streak feature where a user plans out a schedule
and learns the words everyday

Describe the solution you'd like

  • 1. Start a streak: Walk through the daily streak where a user decides how many words they want to learn every day
    number of words 5, 10, 15, 25 and for how many days 7 days, 15 days 1 month.
  • 2. Ask if reminder to be sent for the daily streak. (daily streak topic)
  • 3. Dashboard will have a Daily streak card with progress details/start a streak (if not started)
  • 4. Daily Words to be chosen should be filtered from the list of mastered words.
  • 5. If the user leaves the streak in between user should be able to start where they left off for the same day.
  • 6. The answers to those questions should update the users mastered words.
  • 7. Completing the streak show a Greeting to comeback tomorrow for next day.

Daily streak data is all locally stored and erased when the app is uninstalled.

Word of the Day

Describe the bug

  • Word of the day logic seems incorrect refreshing the page creates a new WOD
  • Word of the day page should be scrollable to avoid content hiding beneath navbar or FAB

Add a ability to delete word

  • only Admin should be able to delete a word from the word details section
  • Delete should ask Admin to enter the word similar to github before deleting

image

Create Onboarding Pages

  1. Explore https://rive.app/community/299-648-the-balloonist/
  2. Word of the day https://rive.app/community/1859-3710-solar-system-animation/
  3. Dark mode https://rive.app/community/3045-6448-orbit-draw-order-demo/
  4. Crowd platform contributions spreads https://rive.app/community/3372-7085-glow-grid/
    https://rive.app/community/3264-6879-tree-loading-bar/

Ability to report a word

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Word Object should not change if not saved

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Any word e.g "Diffident"
  2. Edit the word
  3. Make edits
  4. Cancel the operation by clicking the cross on the left top

Expected behavior
No changes should be made to the word

Actual results
The word Object is getting changed due to data shadowing.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • macOS chrome

Word and Synonym should not be same

Users can add the same word as synonym

To Reproduce
Steps to reproduce the behavior:

  1. Add / Edit a word/
  2. Add the same synonym as word
  3. save/update

Expected behavior
Word and synonym should not be the same

Add support for custom word collections

Is your feature request related to a problem? Please describe.
Users should be able to categorize a word in their custom category

Describe the solution you'd like
Every word should have the option to add to the list, where a user has the option to create a custom category

My Lists should be visible on the dashboard

  • User should be able to add words to custom collections.
  • Collections are stored on the device for each user, uninstalling the app will lose the data logout shouldn't
  • Collections introduction for the first time to a new user (or when collections are empty)
  • We can have a feature to export/import if required
  • Make Lists Collaborative (public) Individual lists are private
  • Ability to make custom collections public in the community tab

[Web] Improve initial loading times using WASM

Describe the bug
Inspired from the wasm web work for flutter and the demo app presented, It seems it is possible to get faster loading times on the flutter web apps.

Additional Info
It is important to note that this is only supported on Chrome 119 and FIrefox 120 and above.

Redesign App Icon and SplashScreen

  • The app Icon should be redesigned
  • Redesign Native Splashscreen to avoid blank screen at startup
  • App Icon and SplashScreen consistent for all platforms

[Notifications] Edit Detail is buggy for Admin View

Describe the bug

To Reproduce
On the Edit comparison page old edit details are shown as "Text"

Expected behavior

  • Correct edit comparison should show both old and new edit
  • Each edit should have a mandatory description (describing the edit)
  • Show Edit state on App Bar
  • User Profile should be viewable
  • Admin should be notified when an edit is made.

Additional context
Add any other context about the problem here.

Support Offline mode

  • The app should work offline
  • User word preferences(Explore page) should be queued
  • Add/Edit Word should be saved as drafts

Support for Adding bookmarks

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

capitalize extension logic is wrong

Describe the bug
The logic to capitalize a string is wrong

Actual Results

String x= "hello";
x.capitalize(); /// returnsHello

Expected Results

String x= "hEllo";
x.capitalize(); /// returns Hello

Additional context:
This can be seen in the app when adding a synonym if user enters "hEllO" on submitting "HEllO" is submitted

Show word edit history

When a word is edited, Its history must be saved to understand who made the edits.

Describe the solution you'd like

Frontend

A word detail must show

  • last edit time and name
  • clicking the name should show the edits in ascending/descending order in the form of timeline

Backend

We could maintain an edit history table containing edit entries and each history (entry) Id, must be recorded in a words table.
so basically each word must have an array or map of edits Ids.

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.