| layout | page |
|---|---|
| title | Setting up and getting started |
- Table of Contents {:toc}
Follow the steps in this guide precisely. Deviating from them may cause build or runtime issues.
-
Fork this repository to your own GitHub account.
-
Clone the fork to your local machine:
git clone https://github.com/<your-username>/zettel.git cd zettel
Zettel requires Java 17 or later.
Check your version:
java -versionIf you do not have Java 17 installed, download it from Oracle JDK
or use your system’s package manager, for example:
sudo apt install openjdk-17-jdk- Open IntelliJ IDEA.
- Select File → New → Project from Existing Sources.
- Choose the folder containing the cloned repository.
- Configure IntelliJ to use JDK 17.
- Follow the SE-EDU guide on configuring the JDK.
- Import as a Gradle project.
- Follow the SE-EDU guide on importing Gradle projects.
Run the main entry point class:
seedu.zettel.ZettelTry a few commands:
new -t "Test" -b "Hello world"
list
exit
Then run the test suite:
-
In IntelliJ: open
src/test/javaand right-click → Run Tests in tp.test. -
Or via Gradle (if applicable):
./gradlew test
Follow the SE-EDU IntelliJ code style guide
to maintain consistent formatting.
Before modifying or extending the app, review the
Architecture section in the Developer Guide.
It explains how Zettel’s core components (Zettel, UI, Parser, Command, Storage, and Note) interact.
GitHub Actions are preconfigured in .github/workflows.
Every push and pull request automatically:
- Compiles the code
- Runs the full JUnit test suite
- Reports build status on GitHub
No extra setup required.
To get comfortable with the Zettel codebase, you can try:
- Tracing Code Flow — follow how a
newcommand is parsed and executed. - Adding a New Command — add a command like
countfollowing the Command Pattern. - Removing Unused Fields — practice safe refactoring using IntelliJ’s tools.