<commit_before># Burdens: Developer Guide

By : `W09-B1`  &nbsp;&nbsp;&nbsp;&nbsp; Since: `Mar 2017`  &nbsp;&nbsp;&nbsp;&nbsp; Licence: `MIT`

---
0. [Introduction](#introduction)
1. [Setting Up](#setting-up)
   > 1.1 Prerequisites<br/>
     1.2 Importing the project into Eclipse<br/>
     1.3 Configuring Checkstyle<br/>
     1.4 Troubleshooting project setup<br/>
2. [Design](#design)
   > 2.1 Architecture<br/>
     2.2 UI component<br/>
     2.3 Logic component<br/>
     2.4 Model component<br/>
     2.5 Storage component<br/>
     2.6 Common classes<br/>
3. [Implementation](#implementation)
0. [Introduction](#introduction)
1. [Setting Up](#setting-up)
   > 1.1 Prerequisites<br/>
     1.2 Importing the project into Eclipse<br/>
4. [Testing](#testing)
   > 4.1 Troubleshooting Tests
5. [Dev Ops](#dev-ops)

* [Appendix A: User Stories](#appendix-a--user-stories)
* [Appendix B: Use Cases](#appendix-b--use-cases)
* [Appendix C: Non Functional Requirements](#appendix-c--non-functional-requirements)
* [Appendix D: Glossary](#appendix-d--glossary)
* [Appendix E : Product Survey](#appendix-e--product-survey)

## 0. Introduction

**Hello Developer.**<br/>
<br/>
This is **Burdens**. It is a task manager created to make sense of our daily lives and list personal tasks and deadlines via keyboard commands.<br/>
<br/>
It is a Java desktop application that has a GUI implemented with JavaFX.<br/>
<br/>
This guide will aid current and future developers like you in understanding and augmenting the features and design implementations of **Burdens**.<br/>
<br/>
You are welcome to contribute in any way!

## 1. Getting Started

### 1.1 Prerequisites

Please ensure you have the following prerequisites before contributing to development:

1. **JDK `1.8.0_60`**  or later
2. **Eclipse** IDE<br>
3. **e(fx)clipse** plugin for Eclipse (Follow from Steps 2 onwards given in<br>
   [this page](http://www.eclipse.org/efxclipse/install.html#for-the-ambitious))<br>
4. **Buildship Gradle Integration** plugin from the Eclipse Marketplace<br>
5. **Checkstyle Plug-in** plugin from the Eclipse Marketplace<br>

### 1.2 Importing Project Burdens into Eclipse

0. Fork this repository, and clone the fork to your computer
1. Open Eclipse <br/><commit_msg>Add section links to DeveloperGuide<commit_after># Burdens: Developer Guide

By : `W09-B1`  &nbsp;&nbsp;&nbsp;&nbsp; Since: `Mar 2017`  &nbsp;&nbsp;&nbsp;&nbsp; Licence: `MIT`

---
0. [Introduction]#0-introduction)
1. [Setting Up](#1-setting-up)
   > 1.1 [Prerequisites](#11-prerequisites)<br/>
     1.2 [Importing the project into Eclipse](#12-importing-project-burdens-into-eclipse)<br/>
     1.3 [Configuring Checkstyle](#13-configuring-checkstyle)<br/>
     1.4 [Troubleshooting project setup](#14-troubleshooting-project-setup)<br/>
2. [Design](#2-design)
   > 2.1 [Architecture](#21-architecture)<br/>
     2.2 [UI component](#22-ui-component)<br/>
     2.3 [Logic component](#23-logic-component)<br/>
     2.4 [Model component](#24-model-component)<br/>
     2.5 [Storage component](#25-storage-component)<br/>
     2.6 [Common classes](#26-common-classes)<br/>
3. [Implementation](#3-implementation)
4. [Testing](#4-testing)
   > 4.1 [Troubleshooting Tests](#41-troubleshooting-tests)
5. [Dev Ops](#dev-ops)

* [Appendix A: User Stories](#appendix-a--user-stories)
* [Appendix B: Use Cases](#appendix-b--use-cases)
* [Appendix C: Non Functional Requirements](#appendix-c--non-functional-requirements)
* [Appendix D: Glossary](#appendix-d--glossary)
* [Appendix E : Product Survey](#appendix-e--product-survey)

## 0. Introduction

**Hello Developer.**<br/>
<br/>
This is **Burdens**. It is a task manager created to make sense of our daily lives and list personal tasks and deadlines via keyboard commands.<br/>
<br/>
It is a Java desktop application that has a GUI implemented with JavaFX.<br/>
<br/>
This guide will aid current and future developers like you in understanding and augmenting the features and design implementations of **Burdens**.<br/>
<br/>
You are welcome to contribute in any way!

## 1. Setting Up

### 1.1 Prerequisites

Please ensure you have the following prerequisites before contributing to development:

1. **JDK `1.8.0_60`**  or later
2. **Eclipse** IDE<br>
3. **e(fx)clipse** plugin for Eclipse (Follow from Steps 2 onwards given in<br>
   [this page](http://www.eclipse.org/efxclipse/install.html#for-the-ambitious))<br>
4. **Buildship Gradle Integration** plugin from the Eclipse Marketplace<br>
5. **Checkstyle Plug-in** plugin from the Eclipse Marketplace<br>

### 1.2 Importing Project Burdens into Eclipse

0. Fork this repository, and clone the fork to your computer
1. Open Eclipse <br/>
{'fraction_non_alphanumeric': 0.14755498612000853, 'fraction_numerical': 0.03010890454836643, 'mean_word_length': 4.390103567318757, 'pattern_counts': {'":': 0, '<': 53, '<?xml version=': 0, '>': 60, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2321171', 'n_tokens_mistral': 1644, 'n_tokens_neox': 1462, 'n_words': 482}