/Dictator

Primary LanguageJavaScript


Logo

Dictator (Dictionary & Translator)

Dictator is a dictionary app made for IELTS students with multi-search ability.
It's one kind of Word-Search-engine

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Prerequisites
  3. Installation
  4. Setup & Run
  5. Roadmap

About The Project


Dictator is a word-search-engine made for students spacially for IELTS students with awesome features e.g. Clean UI, Synonyms, Antonyms, Examples, Grammars, Translation, Saving Offline, Generating PDF, etc. The app was made with React Native as a Frontend Technology and Python Flask as a Backend Technology. The app will help students a lot. Students can easily get Word Information and make a note by generating a PDF with one click.

(back to top)

Features with Snapshots

  1. Multi-Search ability students can search 5 words at a time.

    snapshot
  2. Search Result will cached in server

  3. All Information of each searched words. Word's defination, examples, synonyms, antonyms, etc.

    snapshot
  4. Each Word has upto 15 extra examples.

    snapshot
  5. Students can save search results in offline

    snapshot
  6. Students can take note as a PDF

  7. Separate error screen notify all kind of crashes here.

    snapshot

Built With

Frontend Technology

Backend Technology

(back to top)

Prerequisites

There are some prerequisites to run this app and server

  • Python3

    Linux
    sudo apt-get install python3
    sudo apt-get instsll python3-pip
    MacOS
    brew instsll python3 python3-pip
    Windows Download Python Binary by clicking here
  • React Native

    React native has a greate documentation for enviroment setup

Installation

Frontend

  1. Clone the repo
    git clone https://github.com/OmarFaruk-0x01/Dictator
  2. Goto to the Frontend Folder
    cd Frontend
  3. Install NPM packages
    npm install

Backend

  1. Goto to the Backend Folder
    cd Backend
  2. Install dependencies
    pip3 install -r requirements.txt

(back to top)

Setup & Run

Now you have to run some commands to start the app.

Frontend

  1. To run the application
    cd Frontend
    npx react-native run-android # 'run-ios' if you are in macOS
  2. To start the developement server
    npx react-native start
  3. To make a Release Build follow the article.

Backend

Use those commands to run the backend server.

  1. Configure Email and MongoClient. goto this path Backend/config.py and make change with your information
    # When students send a feedback your ADMIN_EMAIL will recive a mail from DICTATOR_EMAIL;
    # Make sure Your DICTATOR_EMAIL's Less Security Option is enabled if not? then follow this url https://myaccount.google.com/lesssecureapps;
    DICTATOR_EMAIL: str = "<sender_gmail>"
    DICTATOR_PASSWORD: str = "<sender_gmail_pass>"
    ADMIN_EMAIL: str = "<reciver_gmail>"
    # mongoClient Url
    MONGO_CLIENT_URL = "<mongoclient_url>"
  2. Now run the Backend server
    cd Backend
    python3 main.py

Any Issue? If there are any connection issue with localhost server then use Ngrok or any other porxy. You can change server host url from Frontend/src/helpers/environment.js this file.

const Env = {
  p: {
    // in production mode backend host url
    BaseURL: '',
    APIKEY: '123321',
  },
  d: {
    // in developement mode backend host url
    BaseURL: '<Your Ngrok/Proxy url>',
    APIKEY: '123321',
  },
  mode: 'dev',
};

(back to top)