https://github.com/howardyclo/write-cafe
A web-based English writing assistant with automatic grammar error correction and example sentence suggestion.
https://github.com/howardyclo/write-cafe
grammar-error-correction nodejs python python-flask
Last synced: 9 months ago
JSON representation
A web-based English writing assistant with automatic grammar error correction and example sentence suggestion.
- Host: GitHub
- URL: https://github.com/howardyclo/write-cafe
- Owner: howardyclo
- Created: 2016-05-11T03:02:28.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-12-11T13:42:27.000Z (about 9 years ago)
- Last Synced: 2025-04-28T19:59:49.335Z (9 months ago)
- Topics: grammar-error-correction, nodejs, python, python-flask
- Language: JavaScript
- Homepage:
- Size: 13.9 MB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Write Cafe
A web-based English writing assistant with automatic grammar error correction (GEC) and example sentence suggestion.
### Tech Stack
- Frontend: sass, es6, react, redux, webpack.
- Backend: nodejs for webserver, python flask for GEC business logic.
- Special credits: GEC functionality is based on Linggle API (A web-scale linguistics search engine), which is developed by NTHU NLPLAB.
### Dev Environment
- node: v6.2.2 (recommend to use `nvm`)
- npm: 3.9.5
- python: 2.7.10
### Get Started
- Assume that you've installed python virtual environment package - `virtualenv`. You'll need to first create a new virtual environment, then activate it. By doing this to prevent installing python packages required by this project in global space.
```
>> virtualenv venv (Create 'venv' folder whatever place you want to place in)
```
```
>> source venv/bin/activate (Activate virtual environment)
```
- Install python packages required by this project from requirements.txt. If there's any error, you can run `python server/app.py` to see what packages are required, then install them by `pip install ` one by one.
```
>> pip install -r requirements.txt
```
- Note that our project requires `nltk` tagger - `averaged_perceptron_tagger` and tokenizer - `punkt`, you'll need to install those first.
```
(python cmd)>>> import nltk
(python cmd)>>> nltk.download()
```
- Assume that you've installed nodejs and npm. Run `npm install` to install nodejs packages required by this project
```
>> npm install
```
- Since this project runs two different servers, one is nodejs for routings, the other is python flask API for GEC. Please enter the following two commands in seperate terminal taps, this will help you get the app started.
```
>> python server/app.py (Start python flask api server)
```
```
>> npm start (Start node web server)
```
### API URL/Port Configuration
- You can run node web server on different port by revising `"start": "..."` command in `package.json`.
- You can run flask API server on different port by revising `port` in `/server/app.py` at localhost or deploy it on server, you'll need to change API URL in client app at `/app/config.js`.
### Problem Shooting
If there's any problem, please open an issue or send me an email.