Coder Social home page Coder Social logo

njong392 / abbreve Goto Github PK

View Code? Open in Web Editor NEW
145.0 145.0 155.0 1.35 MB

A simple website, that fills out abbreviations for popular slangs.

Home Page: https://abbreve.vercel.app/

License: Apache License 2.0

HTML 2.98% JavaScript 95.88% CSS 0.17% Shell 0.97%
beginner-friendly beginner-project open-source reactjs tailwindcss

abbreve's Introduction

drawing

Found a passion for web development and I can't wait to grow my skills. I love participating in communities, and giving back to small projects that I love. You will catch me watching a movie or five when I'm not coding.

  • 🌍 I'm based in Cameroon

  • βœ‰οΈ You can contact me at [email protected]

  • πŸš€ I'm currently working on Abbreve

  • 🧠 I'm learning ReactJs

  • 🀝 I'm open to collaborating on technical writing work, and frontend development internhips

Skills

JavaScript C PHP Python Java HTML5 React TailwindCSS CSS3 Bootstrap

Socials

Top Repositories








abbreve's People

Contributors

adropofilm avatar akebu6 avatar danitacodes avatar ghasty003 avatar grand-rick001 avatar hona9 avatar imbeshat avatar it-isa-me-mario avatar joel-wlf avatar lekejosh avatar leonvsc avatar mathiasayivor avatar mohammed-shoaib01 avatar nazaneyn avatar newdydx avatar njong392 avatar priyansumaurya avatar publikphigor avatar rupali-codes avatar sebastianmariani avatar shajith-it-is avatar shreyasri258 avatar sriparno08 avatar tes-balo avatar thisisisheanesu avatar treciaks avatar trp02 avatar vedant-z avatar yasir-khan22 avatar yeshwantthota 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

abbreve's Issues

[OTHER] Abbreves to add

What would you like to share?

TBH - To Be Honest
ROFL - Rolling Around Floor Laughing
FFS - For F*ck Sake

Additional information

No response

Add new slangs

New slangs needed

While I was giving a try to Abbreve, i typed ngl but unfortunately didn't get any results in return - i know the project is still so young but no problem.

Same thing goes for ftw.

[FEATURE] Use prettier

Description

The current codebase is a bit hard to read because there is little/no linebreaks/formatting. Using prettier addresses this issue and would also help keep a consistent formatting for the whole codebase

Screenshots

Screenshot from 2022-10-03 23-27-50
Screenshot from 2022-10-03 23-29-34

Before and After using prettier

Additional information

No response

[FEATURE] Break db.json to smaller chunks

Description

Currently, there's only one db.json file, which contains all definitions and as the DB file grows (more definitions added) there'd be at least the following issues:

  • Searches take time since the db.json file has to be downloaded on each search
  • App becomes slow since the downloaded db.json file has to be stored in memory for each search request
  • Adding new definitions become difficult since the text editor might become slow due to the huge db.json file
  • It becomes difficult to sort abbreviations because the contributor has to manually go through each abbreviation in order to insert it into the appropriate place
  • Frequent merge conflicts since all contributors are working on the same file
  • Higher chances of duplicate abbreviations
  • Reviewing PRs for adding new abbreviations becomes cumbersome

...plus many other possible issues

My proposal is, to split each abbreviation into its own file like below:

Abbreve
β””public
└─server
└──db
β”‚  β”‚ gtm.json
β”‚  β”‚ lfg.json
β”‚  β”‚ idk.json
β”‚  β”‚ ...

Where each JSON file contains the definition of an abbreviation. The actual abbreviation would be the name of the JSON file.
Note: The structure of each abbreviation would still be the same, (I made a proposal for improving the structure in #42)

Screenshots

No response

Additional information

By using my proposed solution,

  • Sorting becomes easier since it can be done by the file manager/text editor.
  • Reviewing each PR for adding abbreviations becomes easier
  • Fewer chances of merge conflicts for abbreviations
  • Contributing/adding a new abbreviation becomes easy and simple
  • Editing an abbreviation becomes easier
  • No chances of duplicate abbreviation definitions

Caveats
Using my proposed solution means changing the structure of all abbreviations becomes difficult, but we can solve this by creating a simple app for changing the structure of all abbreviations.

[FEATURE] Improved UI

Description

Improve Ui for mobile state as well as a few changes for desktop state.
The UI right now is awesome but could use a little fixes here and there

Screenshots

Screen Shot 2022-10-03 at 12 58 00 PM

Additional information

I'll love to take this on πŸ’ͺ🏼

Put a word-wrap property for the => | errorMessage & isUserInputBlank | text which appear when either of both States are true.

Description

When we put wrong slang or slang that is not present or the search bar is empty, we get a msg telling us the real problem like
this

1. When slag is not present

- This entry does not exist in our records as of yet :(

  1. You can help us add this by creating a [github issue](https://github.com/Njong392/Abbreve)

  2. Or, you could fill out this [feedback form](https://t.co/mp86BLYBhq) and we will address the issue

2. When SearchBar is Empty

- Search bar πŸ” is Empty!. Please put abbreviation in search bar    

But when either of these messages appears, the content on its left gets displaced slightly to the left. it will more clear from the SS I have added below.

Screenshots

Screenshot (6)

Screenshot (7)

Screenshot (9)

Additional information

No response

[FEATURE] Add husky

Description

Currently, we have prettier but you'd have to manually run npm run format to format the code base before pushing changes.
Sometimes, one might forget to format the code base before pushing changes.
Adding husky prevents this by automatically formatting the code base before each commit

Screenshots

No response

Additional information

No response

[FEATURE] Page length

Description

I'm thinking since this is more like a dictionary-like app, the page length should be that long. A smaller font size for the main text and some other little rearrangements and optimization should be help to fix this to a level.

Screenshots

No response

Additional information

No response

Abbreve forms

What issue are you facing? Missing Abbreviation
Which slang/feature/bug? :lmk
Bug description: No bug

[FEATURE] UX: Add loading animation for searches

Description

Currently, there's no indication to show when the app is looking up the definition for my searched abbrev.
It would be an improvement in UX to show a loading animation when a search is running

Screenshots

No response

Additional information

No response

Abbreve forms

Bugsample text question answersample text question answer

[DOCS] Use a gif to show a demo

Description

Instead of a picture of the website for demo in the readme, would be nice to have a gif instead

Screenshots

No response

Additional information

No response

[FEATURE] Add error msg when non-existing abbreviation is searched AFTER db.json has been fetched once

Description

Let's talk through a few different scenerios:

  1. When user types in value for an existing abbreviation and then clicks the search button, the definition appears as expected.
    Screen Recording 2022-10-07 at 12 28 09 AM

  2. If user types in the following AFTER db.json has already been fetched once:
    a. An existing abbreviation, it appears as expected without having to press the submit button.
    b. However when a user types in an abbreviation that doesn't exist in db.json, nothing appears, no error message, etc.
    Screen Recording 2022-10-07 at 1 05 03 AM

How do we want to handle the scenerios for 2a & 2b? Here are possible solutions:

  1. Prevent auto filtering onChange of the text input. However, if we do this, we can only search after the submit button is pressed, and we'd have to continuously fetch db.json.
  2. Allow auto filtering on onChange of the text input, but display error message if definition isn't found in the db.

I propose the 2nd condition as a fix to the problem. Thoughts?

Screenshots

No response

Additional information

No response

Submit button searching for slang when input is empty

Description

when the search input is empty, hitting the submit button sends a request and all the abbreviations are fetched successfully but unable to find a matching abbreviation for the empty string '', hence resulting in the error message.

Adding input validation should fix this. Thank you, this is my first time creating an issue.

Screenshots

No response

Additional information

No response

Abbreve forms

What issue are you facing? Missing Abbreviation
Which slang/feature/bug? :TBF = to be fair
Bug description:

Add new Abbreve Slangs

What would you like to share?

This issue is to add a new slang ootd, ttyl, rofl and tc to the app.

Additional information

OOTD stands for Outfit Of The Day.
TTYL stands for Talk To You Later.
ROFL stands for Rolling On the Floor, Laughing
TC stands for Take Care

@Njong392 I am open to making this PR.

[FEATURE] UX: Show search suggestions for similar abbrevs when searching

Description

It would be great to show search suggestions for similar abbrevs when the user starts typing in the search box.

Screenshots

No response

Additional information

Sometimes, you may forget an abbrev but you know the first few characters. Adding search suggestions provides a good ux in such situations

Error handling is not properly optimised

Description

Users should be notified if a record they have entered isn't available in the JSON database yet. This is yet to be worked upon.

Screenshots

No response

Additional information

No response

[OTHER] small color changes for accessibility

What would you like to share?

Hi! I have some small color changes that can make the application more accessible.

original:
image
new version:
image

I changed the original purple color to deep purple and added a slightly lighter purple to make some parts of the text more readable. I also made the gray a bit lighter.

Let me know if you like it!

Additional information

No response

Abbreve forms

What issue are you facing? Missing Abbreviation
Which slang/feature/bug? :ikr = I know right
Bug description:

Abbreve forms

What issue are you facing? Missing Abbreviation
Which slang/feature/bug? :til = today I learned
Bug description:

[OTHER]-CONFLICTING ABBREVIATIONS

What would you like to share?

CONFLICTING ABBREVIATIONS

Additional information

I think room should be made for some abbr. terms like "WTH" which has more than one meaning i.e " What the heck" and "What the hell".

[DOCS] Include code of conduct

Description

We need some rules to make sure that contributors adhere to and collaborate in ways that are suitable for everyone else.

Screenshots

No response

Additional information

No response

[DOCS] Add CONTRIBUTING.md file

Description

To help new contributors know exactly what to do and what to expect of the project...

  • We might need guidelines on how to fork, clone, push, etc
  • What kind of contributions we are looking for
  • Commit conventions, issue, and pull request templates
  • Links to resources, the code of conduct, etc

Screenshots

No response

Additional information

No response

[DOCS] Markdown link to gif is showing in the README

Description

The screenshot in the README was recently substituted by a GIF. But the markdown link of the added GIF is showing in the README, and this doesn't look very good. You can see the link above the gif itself.

Open the README file in edit mode (You have to fork the repo to do this) and in the section where the gif is added, and change

![Gif of form section of page with 'various types into the search bar, it's meaning below it, and alternative meanings](![abbr](https://user-images.githubusercontent.com/12339188/194400070-58974868-221c-40fe-9f73-c19d22f764db.gif) to

![Gif of form section of page with 'various types into the search bar, it's meaning below it, and alternative meanings](https://user-images.githubusercontent.com/12339188/194400070-58974868-221c-40fe-9f73-c19d22f764db.gif)

Screenshots

Screenshot from 2022-10-07 11-23-49

Additional information

No response

[OTHER] "USE CASES" FOR ABBREVE TERMS

What would you like to share?

I think "use cases" could be added to the terms to give users more insight into the term to those who are new to it and as an illustration.

Additional information

No response

Abbreve forms

What issue are you facing? Missing Abbreviation
Which slang/feature/bug? :hello this is a test
Bug description:

[FEATURE] UX: UI v2

Description

Currently, users have to scroll down in order to search for abbreviations, which IMO is not a good UX since the main focus of the app is for users to quickly find definitions for abbrevs.

My proposal is to move the search input to the top so that users can easily and quickly search for abbrev definitions.

Screenshots

Screenshot 2022-10-06 at 00-09-41 Abbreve
As you can see, the search input + button is visible the moment the user opens the app without even scrolling down

Additional information

No response

Abbreve forms

What issue are you facing? Missing Abbreviation
Which slang/feature/bug? :tbh = to be honest
Bug description:

Abbreve forms

Bugsample text question answersample text question answer

[FEATURE] No Favicon

Description

The Logo used in the Navbar can also be up there as the favicon

Screenshots

No response

Additional information

No response

CTA button text is not accessible

Description

Hey!

I would like to share that the text on the CTA button "find an abbreviation" changes its color on click and it becomes not accessible. Not enough contrast between the text-color and bg-color.

I would rather keep the text color white.

Screenshots

Screenshot_20221003-180611_Samsung Internet

Additional information

No response

[OTHER]: Add hacktoberfest label

What would you like to share?

@Njong392
Consider adding the hacktoberfest topic to this repo to bring more potential contributors to this project .
What do you think?

Additional information

No response

[FEATURE] Improve on structure for db

Description

The current structure of db looks like:

[abbreviation]: {
    definition: string,
    alternatives?: string
}

which is good, but we can improve on the structure by making the alternatives prop required and an array. So the new structure now becomes:

[abbreviation]: {
    definition: string,
    alternatives: string[]
}

Using the proposed structure gives us the possibility to add other features, such as linking related abbreviations and other benefits as the app grows

Below is an example showing the current structure and how it would look like after implementing the proposed structure
BEFORE:

{
    "lgtm":{
        "definition":"Looks Good To Me",
        "alternatives": "Looks Great To Me, Looks Great To Merge"
    },

    "lfg":{
        "definition":"Let's Fucking Go",
        "alternatives" : "Life Feels Good, Looking For Group"
    },

    "idk":{
        "definition": "I Don't Know"
    },

    "imo":{
        "definition": "In My Opinion"
    }
}

AFTER:

{
    "lgtm":{
        "definition":"Looks Good To Me",
        "alternatives": ["Looks Great To Me", "Looks Great To Merge"]
    },

    "lfg":{
        "definition":"Let's Fucking Go",
        "alternatives" : ["Life Feels Good", "Looking For Group"]
    },

    "idk":{
        "definition": "I Don't Know",
        "alternatives": []
    },

    "imo":{
        "definition": "In My Opinion",
        "alternatives": []
    }
}

Screenshots

No response

Additional information

We can even further improve on the structure to include more information like so:

[definition]: {
    definition: string,
    contexts: string[], // Check explanation at the bottom
    alternatives: {
        definition: string,
        contexts: string[] // Check explanation at the bottom
    }[]
}

Example:

{
    "lgtm": {
        "definition": "Looks Good To Me",
        "contexts": [
            "chat",
            "conversation"
        ],
        "alternatives": [
            {
                "definition": "Looks Great To Me",
                "contexts": []
            },
            {
                "definition": "Looks Great To Merge",
                "contexts": [
                    "collaboration",
                    "teamwork"
                ]
            }
        ]
    },
    "lfg": {
        "definition": "Let's Fucking Go",
        "contexts": [],
        "alternatives": [
            {
                "definition": "Life Feels Good",
                "contexts": []
            },
            {
                "definition": "Looking For Group",
                "contexts": []
            }
        ]
    },
    "idk": {
        "definition": "I Don't Know",
        "contexts": [],
        "alternatives": []
    },
    "imo": {
        "definition": "In My Opinion",
        "contexts": [],
        "alternatives": []
    }
}

Explanation:
The contexts field is an array of contexts in which the abbreviation is mostly used.

Notes:
Automatically, all alternatives under each abbreviation fall under the contexts provided for the main definition
e.g
Both Looks Great To Me and Looks Great To Merge fall under chat and conversation contexts since they are both alternatives to the Looks Good To Me definition

DISCLAIMER!
The items I used for each context are just for demonstration purposes.

Too much inline-padding on mobile screens

Description

The padding left and right on mobile devices makes the texts wrap a lot and increases scroll length.
There isn't much space on mobile screens, so, the available spaces should be utilized maximally.

Screenshots

abbreve vercel app_(Samsung Galaxy S20 Ultra)

Additional information

No response

[DOCS] Add license

Description

Since this is open to the public now, adding a license like Apache 2.0 would probably be cool.

Screenshots

No response

Additional information

No response

Change a:hover color

Description

Hi everyone,
There's not enough contrast between background color and text color when the user hovers over the Get Started link (navbar).
I don't know if the text could be changed to a lighter color or just not have a change of color on hover since there's already a scale effect.

Screenshots

Picture of the button on hover:
hover

Additional information

No response

When abbreviation is shown, error message doesn't disappear

Description

When a slang that does not exist is shown, there is a message to tell user that the slang does not exist. But if the next slang to be entered does exist, the abbreviation is shown. But the error message from the previous entry does not go away.

Screenshots

Screenshot from 2022-10-03 22-16-16

Additional information

No response

Abbreve forms

What issue are you facing? Missing Abbreviation
Which slang/feature/bug? :FGS - for god's sake (or rated R version: FFS - for fuck's sake)
Bug description:

Submit query

Description

Upon submitting, show some error if there's no information.

Screenshots

No response

Additional information

No response

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.