Setting up the project in your computer

:exclamation: Caution: Follow the steps in the following guide precisely. Things will not work out if you deviate in some steps.

First, fork this repo, and clone the fork into your computer.

If you plan to use Intellij IDEA (highly recommended):

  1. Configure the JDK: Follow the guide [se-edu/guides] IDEA: Configuring the JDK to ensure Intellij is configured to use JDK 17.
  2. Import the project as a Gradle project: Follow the guide [se-edu/guides] IDEA: Importing a Gradle project to import the project into IDEA.
    :exclamation: Note: Importing a Gradle project is slightly different from importing a normal Java project.
  3. Verify the setup:
    1. Run the seedu.address.Main and try a few commands.
    2. Run the tests to ensure they all pass.

Before writing code

  1. Configure the coding style

    If using IDEA, follow the guide [se-edu/guides] IDEA: Configuring the code style to set up IDEA’s coding style to match ours.

    :bulb: Tip: Optionally, you can follow the guide [se-edu/guides] Using Checkstyle to find how to use the CheckStyle within IDEA e.g., to report problems as you write code.
  2. Set up CI

    This project comes with a GitHub Actions config files (in .github/workflows folder). When GitHub detects those files, it will run the CI for your project automatically at each push to the master branch or to any PR. No set up required.

  3. Learn the design

    When you are ready to start coding, we recommend that you get some sense of the overall design by reading about AddressBook’s architecture.

  4. Do the tutorials These tutorials will help you get acquainted with the codebase.


Setting up the Jekyll documentation website

If you want to work on the project documentation website (this website), you’ll need to set up Jekyll locally.

Prerequisites

Before setting up Jekyll, ensure you have Ruby installed on your system:

ruby --version

If Ruby is not installed, install it using your system’s package manager.

Installation Steps

  1. Install Ruby development headers and build tools (required for compiling native gems):

    On Ubuntu/Debian:

    sudo apt update
    sudo apt install ruby-dev build-essential
    

    On macOS:

    # If using Homebrew
    brew install ruby
    # Development tools should already be available via Xcode Command Line Tools
    

    On Windows: Install Ruby through RubyInstaller with the DevKit.

  2. Navigate to the docs directory:
    cd docs
    
  3. Install Bundler (if not already installed):
    gem install bundler
    
  4. Install Jekyll and dependencies:
    bundle install
    
    :information_source: Note:
    If you encounter permission errors, you can install gems locally instead of system-wide: bash bundle install --path vendor/bundle

Running the Jekyll Site Locally

  1. Start the Jekyll server:
    bundle exec jekyll serve
    
  2. Access the website: Open your web browser and navigate to http://localhost:4000 or http://127.0.0.1:4000

  3. Live reloading: The Jekyll server will automatically reload when you make changes to the documentation files.

Troubleshooting

Error: mkmf.rb can't find header files for ruby

  • This means you need to install Ruby development headers. Follow step 1 in the installation instructions above.

Error: Permission denied when installing gems

  • Use bundle install --path vendor/bundle to install gems locally instead of system-wide.
  • Alternatively, use a Ruby version manager like rbenv or rvm to manage Ruby installations in your user directory.