Aceielts.pro is an English writing analysis tool I was building in 2017/2018. It used Natural Language Toolkit to analyze users’ writing. The idea behind this project is using machine learning and technology to help improving writing score of IELTS test for myself. Especially after IELTS computer based test, this can make it more useful for test takers.
Tech Stacks Re-platform
With the technology stacks changes, the Ace Ielts tech stacks became a bit of outdated, especially running a duo database (MongoDB + PostgreSQL), Mongo is great, but we did not really use the power of document db from Mongo. The final decision to solve this is,
- Re-platform to more powerful infrastructure of AWS.
- Using docker for deployment and make it easier.
- Re-factor, remove MongoDB dependency
- Migrating existing MongoDB data to PostgreSQL
|Compute||VPS with 1g Ram||AWS EC2 t3a + 2g Ram||more powerful.|
|Data Base||MongoDB + PostgreSQL||PostgreSQL||MongoDB is a great document based no-SQL db, but it increases maintainability and we did not really need no-SQL.|
|Platform||VPS||AWS||more complicated, but more stable.|
|Cost||$5/month||$8~10/month||cost more. 😅|
Plan for the Re-platform and Re-factor
- Refactor code base to save essays to PostgreSQL (including model, view changes on Django).
- Building migrating script to migrate MongoDB to PostgreSQL.
- Testing analysis locally.
- Building docker container locally, then deploy the new container based Ace Ielts.
To-do and Roadmap
- Build a custom AES (automatic essay scoring) AI model.
- Build SPA (React/Vue) and add RESTful API (Django Rest Framework).
- Mock UI to be similar to IELTS test (computer based).