A free and open-source version of the IgboResearch project. An Igbo language dictionary and word-translation software project.
- Revolutionalizes Igbo language translation and understanding.
- Delivers accurate and well-researched results for queries.
- Makes research with Igbo language enjoyable and intutive.
- Link to project home page
- About the Project
- Project Status
- Getting Started
- Release Process
- How to Get Help
- Contributing
- Further Reading
- License
- Authors
- Acknowledgments
- Personalized search results
- Dictionary tab for deeper research and queries.
- No generic translations and dictionary results.
- Suggestive prompts for possible search query.
- Interative translation quiz feature for young users and school students.
- Intractive dictionary quiz feature.
- This project aims to provide what traditional solutions like Google translate fail to give.
- Links to the project site
Fetch words from the search database cluster:
const getWords = async () => {
return new Promise(async (resolve, reject) => {
try {
const res = await axios.get(`${endPoints.url1}allWords`);
const results = await res.data;
resolve(results);
if (!results.state) {
throw new Error(results.state);
}
} catch (err) {
reject(err.response.data);
}
});
};
Make a batch-upload from your favorite in-browser database e.g(indexedDB, localStorage) to search
to search or dictionary database cluster.
const batchUpload = async (data = [], constant = "") => {
return new Promise(async (resolve, reject) => {
try {
const res = await axios.post(`${endPoints.url2}${constant}`, data);
const results = await res.data;
resolve(results);
} catch (err) {
reject(err.response.data);
}
});
};
Currently compiles on your host machine, APIs are set and currently in use, offline storage feature partially implemented, etc.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
DEVELOPMENT dependencies:
- Node.js (v.14 and above).
- Express.js. (v.4 and above)
- Mongoose (Make sure to have mongodb installed locally, if you wish to run on your local machine).
- Helmet (Prevents cross-origin attacks and cors exceptions).
- Pino, Pino-pretty (Pino is used for logging).
- Dotenv (Handles the environment variables for the software)
- BCrypt.
TEST dependencies:
- mocha (test library)
- chai (assertion library)
- mockgoose (though I would recommend mongodb-memory-server)
- supertest.
YARN:
yarn add node@latest express@latest mongoose helmet pino pino-pretty dotenv bycrypt
NPM:
npm install node@latest express@latest mongoose helmet pino pino-pretty dotenv bycrypt
YARN:
yarn add -D mocha chai mockgoose supertest
NPM:
npm install -D mocha chai mockgoose supertest
This project is hosted on GitHub. You can clone this project directly using this command:
git clone [email protected]:Mod5ied/IgboResearch-Public-API.git
Simply run the command below to install all dependencies:
npm install
yarn
Executes the test scripts.
npm run test
yarn run test
Spin up the dev server and run the project using the command:
npm run start
yarn run start
Provide any instructions or contact information for users who need to get further help with your project.
Provide details about how people can contribute to your project. If you have a contributing guide, mention it here. e.g.:
We encourage public contributions! Please review CONTRIBUTING.md for details on our code of conduct and development process.
Copyright (c) 2021 Ogwuru Patrick.
This project is licensed under the MIT License - see LICENSE.md file for details.
- Ogwuru Patrick - Initial work - IgboResearch API