/vergilplus

Advanced Software Team Project

Primary LanguageHTML

VergilPlus Travis status codecov version

Advanced Software Engineering Team Project Awesome

VergilPlus is a software that makes course planning effortless for students. Whereas currently students have to browse through an entire catalog that contains mostly irrelevant or unavailable courses, VergilPlus lets students bypass the frustration of picking out the courses right for them. Our course recommendation system is based on sentimental analysis of previous students' reviews, so it will find the best courses that suit you the most. In particular, given a set of courses that a student has already taken, a professor that the student would like to work with or a topic that student is interest in, VergilPlus outputs the courses that fit these constraints.

Build:

Vergilplus is managed by maven. To build our project:
1. Open terminal enter project directory.
2. run "mvn install". All the unit test cases will run automatically and if all use cases passed, the project is built successfully.

Install:

Download the source code and use mvn install to install our project, like stated before.
Load Mysql database using sql file in data/vergilplus.sql.  We assume your database username is "dbuser", and password is also "dbuser".
Our software uses Amazon AWS Lex, which requires a private key. Please contact us if you want to obtain our key.

Test:

Our project uses JUnit test tool and Jacoco for testing. To test our project simply run mvn test

Operation:

  1. Vergilplus will greet user by welcome message.
  2. User can type the following sentences to start searching
        a. Tell me about Professor + "Professor name" / I am interested in professor + "Professor name"
        b. I am interested in + "course topics, like machine learning"
        c. I want course recommendation
  3. Vergilplus then asks for the specifics of the chosen functionality. If the user chooses to inquiry about a professor, then VergilPlus prompts for professor name. If the user chooses to inquiry about a topic, then VergilPlus prompts for topic. If the user chooses the third functionality, then VergilPlus directly continues to step 4.
  4. VergilPlus asks for previous taken courses, which users may input using course number, preferably in the format of "COMSW4111".
  5. Vergilplus then will perform correlated functionalities
        a. It will search sentimental words of the professor in our database and tell the user what courses th professor teaches.     b. It will search all courses in our database that are related to the specified topic.
        c. It will recommend courses based on our sentiment analysis of previous course reviews.
    All course recommendations take into account the student's previous courses.

Technologies and tools used: Java, Google NLP, Amazon AWS Lex, Mysql, Travis CI, Maven, Spring, JUnit, Python, SonarClound, PMD, Jacoco&Codecov.

Interesting Stats:

stats