Skip to content

AY2122S1-CS2113-T16-3/tp

 
 

Repository files navigation

Expiry Eliminator

Expiry Eliminator is a desktop app for managing the freshness of ingredients in your kitchen and the recipes you want to cook, optimized for use via a Command Line Interface (CLI). If you can type fast, Expiry Eliminator can help you manage your ingredients and recipes quickly.

This is a project based on Duke, which is a project template for a greenfield Java project. Given below are instructions on how to use it.

Setting up in Intellij

Prerequisites: JDK 11 (use the exact version), update Intellij to the most recent version.

  1. Ensure Intellij JDK 11 is defined as an SDK, as described here -- this step is not needed if you have used JDK 11 in a previous Intellij project.
    • In the same dialog, you may have to set the Project language level field to the SDK default option.
  2. Import the project as a Gradle project, as described here.
  3. Verify the set up: After the importing is complete, locate the src/main/java/expiryeliminator/ExpiryEliminator.java file, right-click it, and choose Run ExpiryEliminator.main(). If the setup is correct, you should see something like the below:
    > Task :compileJava
    > Task :processResources NO-SOURCE
    > Task :classes
    
     > Task :ExpiryEliminator.main()
         ____________________________________________________________________________________________________
          Welcome to Expiry Eliminator. What can I do for you?
         ____________________________________________________________________________________________________
    
    Type some word and press enter to let the execution proceed to the end.

Build automation using Gradle

  • This project uses Gradle for build automation and dependency management. It includes a basic build script as well (i.e. the build.gradle file).
  • If you are new to Gradle, refer to the Gradle Tutorial at se-education.org/guides.

Testing

I/O redirection tests

  • To run I/O redirection tests (aka Text UI tests), navigate to the text-ui-test and run the runtest(.bat/.sh) script.

JUnit tests

Checkstyle

CI using GitHub Actions

The project uses GitHub actions for CI. When you push a commit to this repo or PR against it, GitHub actions will run automatically to build and verify the code as updated by the commit/PR.

Documentation

/docs folder contains a skeleton version of the project documentation.

Steps for publishing documentation to the public:

  1. If you are using this project template for an individual project, go your fork on GitHub.
    If you are using this project template for a team project, go to the team fork on GitHub.
  2. Click on the settings tab.
  3. Scroll down to the GitHub Pages section.
  4. Set the source as master branch /docs folder.
  5. Optionally, use the choose a theme button to choose a theme for your documentation.