• Stars
    star
    142
  • Rank 250,043 (Top 6 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created over 2 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

Abbreve

"Elevate your language game, decode the slang with ease"


🎉 Welcome to Abbreve

  • With the increasing use of online communication, it can be difficult to keep up with the ever-changing shorthand and jargon used in digital conversations. Enter Abbreve
  • Abbreve solves this problem by providing definitions for these abbreviations with just a search, making it easy for you to understand and participate in online conversations with confidence.
  • Abbreve is an open-source dictionary for slang. With Abbreve, you'll never have to feel left out of a conversation or unsure of the meaning of an abbreviation again.
  • The dictionary is constantly updated with new slang and abbreviations, so you can always stay current with the latest internet lingo.

Abbreve can be used by anyone, from casual internet users to professionals!

đŸŽĨ Project Overview

You can check out the live project here

All you need to do is start entering a slang in the search bar, and the meaning will be provided. Below the main meaning of the slang could be alternative meanings.

Gif of form section of page with 'various types into the search bar, it's meaning below it, and alternative meanings

đŸ“Ŗ Want to contribute?

We would love to have you! Abbreve is open source and we are keen on hearing what you have to say. Do check out the code of conduct for rules and guidelines, and our CONTRIBUTING.md file for any steps you might need.

💡 Getting Started

Found a bug? Accessibility issue? Or do you want to add an abbreviation to our database? Then go right ahead and create an issue.

Tech Stack

This project uses:

Prerequisites

Before installation, you need to have the following:

  • Node installed
  • Basic knowledge of Git

Steps

  1. Fork this repository.
  2. In your terminal, clone your fork using git clone <link to your fork>.
  3. Run cd Abbreve to navigate to project directory.
  4. Run npm ci to add node_modules folder.

Running npm ci instead of npm install reduces the possibility of making unwaranted changes to the package-lock.json and package.json files. Check the difference and advantages on the npm docs

  1. To start the server on localhost, run npm run dev.

This project uses Vite, but that shouldn't overwhelm you. Everything works pretty much the same.

  1. Make your changes, push your code, and open a pull request.

Adding an Abbreviation

Before adding an abbreviation, please make sure that the new entry does not already exist. You can easily check this by entering the slang on the live site to see if it gives a result or not.

For now, we use JSON to store the abbreviations. We hope to improve on this as time goes on.

We provide two ways for adding new abbreviations.
1. Manually adding in the db directory
2. Using the CLI

1. Manually adding in the db directory

This option requires you to manually create definition files in the public/server/db directory. Follow the steps below to manually add an abbreviation

  1. In the /public folder, open the /server folder and subsequently, the /db folder you find in it. You can see that each slang is a JSON file of its own.

  2. To add a new abbreviation, you must create a new file.

    • The file name should be the slang you want to add. For example, lgtm.json is the file for the slang lgtm
    • The file name must be in lowercase. For example, lgtm.json not LGTM.json
  3. Inside the file you created, create a new object to store the defintion of the slang, and/or alternative definitions. Taking lgtm as an example again,

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

    definition is the most common abbreviation for the slang, and alternatives is/are other ways people use the slang.

  4. As you can see above, the first letter of each word in both definition and alternatives is uppercase.

  5. If a slang does not have alternatives, add only a definition. For example, in the asap.json file for the slang asap,

    {
        "definition": "As Soon As Possible"
    }

    ℹī¸ If you encounter any issues with the file naming, kindly use the CLI option instead

2. Using the CLI

Using our CLI to add slang is very easy, as it handles all file naming issues and also validates the definitions to ensure that they follow our naming conventions.
Follow the steps below to add new slang using our CLI

  1. From your terminal, run the db:entry script. E.g npm run db:entry
  2. Choose the first option (Add a new abbreviation)

    💡 You can choose an option using your up/down arrow keys

  3. Input the abbreviation you want to add and press Enter
  4. After your input, another question pops up, asking if you have alternative definitions. If you do, press y, followed by Enter. If the slang does not have any alternative definition, press n then Enter.

    If you have other alternatives, enter the alternative and press Enter to add. When you are done add all your alternatives, press Enter without entering anything else

    ℹī¸ When adding multiple alternatives, do not separate them with a comma like you would do when manually entering into db. Instead, press Enter after each alternative entry until you are done with all your entries.

  5. If you have other slang to add, press y and repeat from step 1. Else, press n and then Enter.
  6. Review your changes in the public/server/db directory

If you encounter any error whiles using the CLI, kindly report it here

The GIF below demonstrates how to use the CLI to add new abbreviations

CLI DEMO

⚠ī¸ IMPORTANT Naming Conventions

Before pushing your changes, please check and ensure that all your additions follow the naming conventions listed below:

  • The slang must be in lowercase. For example, lol and not Lol or LOL
  • The first letter of each word in the definition and alternatives must be capitalized. For example, Looks Good To Me and not Looks good to me or looks good to me

Only English slang are accepted as of yet.

đŸ’Ŗ Now, GO CREATE THOSE ISSUES AND PULL REQUESTS!

🔑 License

This project is licensed with Apache-2.0 License.

If you like the project, Don't forget to leave a star ⭐ . All support is highly appreciated đŸ’¯

More Repositories

1

single-page-application-LogRocket

JavaScript
14
star
2

Blog-astro

Blog built on Astro and TailwindCSS
Astro
7
star
3

purpleTwitter-vanillaJs

Purple twitter clone built with tailwind and vanilla Js
HTML
4
star
4

cssLoader-React

JavaScript
4
star
5

Njong392

Config files for my GitHub profile.
4
star
6

LinkTree-tailwind-vanillaJS

CSS
3
star
7

Postgresql-reactjs

Creating a CRUD API with express and node for a PostgreSQL database
JavaScript
3
star
8

Kanban-tailwind-vanillaJs

Kanban style to-do list to help me organize my daily tasks and get stuff done.
CSS
2
star
9

To-do-list

To-do list with React
JavaScript
2
star
10

Njong392.github.io

This repo will serve as a host for the JSON data we use in Abbreve
2
star
11

Family-holiday-backend

JavaScript
2
star
12

Portfolio

My portfolio website
JavaScript
2
star
13

advice-generator-vanillaJS

CSS
2
star
14

Family-holiday

Family-holiday repository: README under construction
JavaScript
2
star
15

Classified

This repository contains classified code that does classified stuff. That's it.
2
star
16

twitterclone-vanillajs

Simple twitter clone with vanilla javascript, and Nodejs/Express backend API
JavaScript
2
star
17

First-React-project

JavaScript
2
star
18

CSS-Art

Random CSS art. All art is mine, from my imagination, and should be used with my permission.
CSS
2
star
19

Front-end-mentor-1

HTML
2
star
20

hellojavafxemy

Java
1
star
21

Sidehustletask2

Task 2 for sidehustle internship. Still needs a lot of development
PHP
1
star
22

Zuri-stage2-3

HTML
1
star
23

Front-end-mentor-3

HTML
1
star
24

PhP-project-1

PHP
1
star
25

HTML-forms-practice

HTML practice
Hack
1
star
26

front-end-mentor-2

Testimonials grid page.
HTML
1
star
27

Sidehustle-task3

Market web app
HTML
1
star
28

Landingpage-tailwindcss

Blogr landing page with tailwindcss and javascript.
CSS
1
star
29

LinkedIn-signup-signin

Sign up and sign in pages for linkedIn
HTML
1
star
30

githubProfileSummary-vanilla-tailwind

Using the github API to create a github profile summary.
1
star
31

Java-studentClass

Sample student class that creates ten student objects with their name, age, course scores, average, and rank.
Java
1
star
32

transkript

1
star
33

side-hustle-task3

MySQL is torture
HTML
1
star
34

tailwindcss-recipesite

Simple site built on tailwind css, that displays food recipes, and has a responsive navigation bar.
CSS
1
star
35

Shell-exercises-C

Exercises comprising of Shell and C.
C
1
star
36

bootstrap-class-project

JavaScript
1
star
37

Fylolandingpage-bootstrap

CSS
1
star
38

Front-end-mentor-4

HTML
1
star
39

Side-hustle-task-1

PHP
1
star
40

Portfolio-2.0

My portfolio hehe
1
star