This project is built using:
Play Framework: Lightweight Java & Scala web framework.
Bootstrap: HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.
jQuery: A fast, small, and feature-rich JavaScript library.
WebGL Earth: Open-source virtual planet web application running in any web browser with support for WebGL HTML5 standard.
Google Cloud Natural Language API: Google Cloud Natural Language API reveals the structure and meaning of text by offering powerful machine learning models in an easy to use REST API.
MySQL: Open-source relational database management system
Start application by cd
into the application directory and run command sbt run
and quits with crtl-C
.
- Backend
- Build with Play Framework. Each
.java
file in app/controllers corresponding to the functions it handles.
- Build with Play Framework. Each
- Frontend
- Build with Bootstrap, jQuery and WebGL Earth.
- Database
- Build with MySQL. Automatically generated when first starting the application by
MySQL.java
file. Includes account, message, audio and negative_message tables.
- Build with MySQL. Automatically generated when first starting the application by
- We used play framework 2.4 instead of 2.5 due to compatibility issue with one netty library that required by Google NLP API.
- Ran into several problems when deploy the application onto server. Eventually used GNU Screen to run the application in virtual terminal.
- Chrome blocks location access for insecure origins. Fix this by applying SSL onto website.
- Right now, database tables are automatically generated when first starting the application, it is better to check the database and table info whenever start/restart the application then creates/updates specific table.
- Audio playing issue in safari.