- 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.
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.
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.
Found a bug? Accessibility issue? Or do you want to add an abbreviation to our database? Then go right ahead and create an issue.
This project uses:
Before installation, you need to have the following:
- Fork this repository.
- In your terminal, clone your fork using
git clone <link to your fork>. - Run
cd Abbreveto navigate to project directory. - Run
npm cito add node_modules folder.
Running
npm ciinstead ofnpm installreduces the possibility of making unwarranted changes to thepackage-lock.jsonandpackage.jsonfiles. Check the difference and advantages on the npm docs
- 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.
- Make your changes, push your code, and open a pull request.
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
This option requires you to manually create definition files in the public/server/db directory.
Follow the steps below to manually add an abbreviation
-
In the
/publicfolder, open the/serverfolder and subsequently, the/dbfolder you find in it. You can see that each slang is a JSON file of its own. -
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.jsonis the file for the slanglgtm - The file name must be in lowercase. For example,
lgtm.jsonnotLGTM.json
- The file name should be the slang you want to add. For example,
-
Inside the file you created, create a new object to store the defintion of the slang, and/or alternative definitions. Taking
lgtmas an example again,{ "definition": "Looks Good To Me", "alternatives": "Looks Great To Me, Looks Great To Merge" }definitionis the most common abbreviation for the slang, andalternativesis/are other ways people use the slang. -
As you can see above, the first letter of each word in both
definitionandalternativesis uppercase. -
If a slang does not have alternatives, add only a
definition. For example, in theasap.jsonfile for the slangasap,{ "definition": "As Soon As Possible" }โน๏ธ If you encounter any issues with the file naming, kindly use the CLI option instead
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
- From your terminal, run the
db:entryscript. E.gnpm run db:entry - Choose the first option (
Add a new abbreviation)๐ก You can choose an option using your up/down arrow keys
- Input the abbreviation you want to add and press
Enter - After your input, another question pops up, asking if you have alternative definitions. If you do, press
y, followed byEnter. If the slang does not have any alternative definition, pressnthenEnter.If you have other alternatives, enter the alternative and press
Enterto add. When you are done add all your alternatives, pressEnterwithout 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
Enterafter each alternative entry until you are done with all your entries. - If you have other slang to add, press
yand repeat from step 1. Else, pressnand thenEnter. - Review your changes in the
public/server/dbdirectory
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
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,
loland notLolorLOL - The first letter of each word in the definition and alternatives must be capitalized. For example,
Looks Good To Meand notLooks good to meorlooks good to me
Only English slang are accepted as of yet.
๐ฃ Now, GO CREATE THOSE ISSUES AND PULL REQUESTS!
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 ๐ฏ


