Stack update, Moving AceIelts.Pro to AWS

  • by Tim
sideproject working desktop

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
SectionOriginalNewReason
ComputeVPS with 1g RamAWS EC2 t3a + 2g Rammore powerful.
Data BaseMongoDB + PostgreSQLPostgreSQLMongoDB is a great document based no-SQL db, but it increases maintainability and we did not really need no-SQL.
PlatformVPSAWSmore complicated, but more stable.
Cost$5/month$8~10/monthcost more. 😅
Deploysshdockermuch easier.
Tech stacks upgrade of Aceielts.pro

Plan for the Re-platform and Re-factor

  1. Refactor code base to save essays to PostgreSQL (including model, view changes on Django).
  2. Building migrating script to migrate MongoDB to PostgreSQL.
  3. Testing analysis locally.
  4. 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).

References

Leave a Reply

Your email address will not be published. Required fields are marked *