Skip to content

Commit 5427ad9

Browse files
authored
Merge pull request nus-cs2113-AY2324S1#8 from AY2324S1-CS2113-F11-3/master
Update
2 parents f9bafd2 + 115bdba commit 5427ad9

21 files changed

+377
-95
lines changed

data/flashcards/flashcard.txt

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,2 @@
1-
<<<<<<< HEAD
2-
d | a | - | - | -
3-
dfdf | dfdf | - | - | -
4-
dfdf | asdfdf | - | - | -
5-
ddf | dfdf | - | - | -
6-
hello | bye | - | - | -
7-
hello | bye | - | - | -
8-
end program | hello | - | - | -
9-
hello | world | - | - | -
10-
=======
11-
ddd | dfdf | - | - | -
12-
ddff | a | - | - | -
13-
>>>>>>> 261fd825cf1feb1bc2f840634aa32b90d2497208
1+
2 | d | a | - | 2023-11-02T00:03:45.242754100 # MODERATE/2023-11-02T00:03:47.250188600 # EASY/2023-11-02T00:03:49.267332500 # HARD/2023-11-02T00:16:31.511531100 # MODERATE/2023-11-02T00:18:58.600168500 # MODERATE/2023-11-02T00:19:05.649443900 # MODERATE | -
2+
4 | Hello | Duke | - | - | -

docs/DeveloperGuide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ As such, computer science students represent good target users of TaskLinker.
4545

4646
TaskLinker is a CLI-tool for helping university students memorize flashcards
4747
and track their flashcard and general academic progress in the courses they are
48-
taking.
48+
taking.
4949

5050

5151
## User Stories
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
@startuml
2+
activate FlashcardStorage
3+
4+
5+
@enduml

docs/UserGuide.md

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ taking.
99
## Quick Start
1010

1111
1. Ensure that you have Java 11 or above installed.
12-
1. Down the latest jar from [the latest release on GitHub]
12+
2. Down the latest jar from [the latest release on GitHub]
1313
(https://github.com/AY2324S1-CS2113-F11-3/tp/releases).
14-
1. Run the jar via `java -jar duke.jar`
14+
3. Run the jar via `java -jar duke.jar`
1515

1616
## General explanation of flashcards
1717

@@ -80,11 +80,39 @@ of pressing <ENTER> to reveal the back page.
8080

8181
Format: `create flashcard`
8282

83+
## General explanation of calendar features
84+
85+
## Features
86+
- `add event` , `delete event`
87+
- `list events` , `find event`
88+
- `delete all events`
89+
90+
### Add an Event to the Calendar: `add event`
91+
92+
- **Adds an event to the calendar with start and end time**
93+
94+
Format: `add event`
95+
96+
* The `DEADLINE` can be in a natural language format.
97+
* The `TODO_NAME` cannot contain punctuation.
98+
99+
Example of usage:
100+
101+
`todo n/Write the rest of the User Guide d/next week`
102+
103+
`todo n/Refactor the User Guide to remove passive voice d/13/04/2020`
104+
83105
## FAQ
84106

107+
**Q**: Where can I find my flashcard and caldendar data?
108+
109+
**A**: You can find it in `data/flashcards` and `data/events` folder.
110+
111+
Every event and flashcard are automatically save after each command.
112+
85113
**Q**: How do I transfer my data to another computer?
86114

87-
**A**: {your answer here}
115+
**A**: You can transfer your data by copying & pasting the data folder.
88116

89117
## Command Summary
90118

src/main/java/seedu/duke/calendar/CalendarCommandParser.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
package seedu.duke.calendar;
44

55
import seedu.duke.calendar.command.AddEventCommand;
6+
import seedu.duke.calendar.command.DeleteAllEvents;
67
import seedu.duke.calendar.command.DeleteEventCommand;
78
import seedu.duke.calendar.command.EventCommand;
8-
import seedu.duke.calendar.command.ListCalendarEventsCommand;
99
import seedu.duke.calendar.command.UnknownCommand;
10+
import seedu.duke.calendar.command.FindEvent;
11+
import seedu.duke.calendar.command.ListCalendarEventsCommand;
1012

1113
public class CalendarCommandParser {
1214
public EventCommand parseInput(String input) {
@@ -16,8 +18,12 @@ public EventCommand parseInput(String input) {
1618
return new AddEventCommand();
1719
} else if (input.startsWith("delete event")) {
1820
return new DeleteEventCommand();
19-
} else if (input.startsWith("list event")) {
21+
} else if (input.startsWith("list events")) {
2022
return new ListCalendarEventsCommand();
23+
} else if (input.startsWith("delete all events")) {
24+
return new DeleteAllEvents();
25+
} else if (input.startsWith("find event")) {
26+
return new FindEvent();
2127
}
2228

2329
return new UnknownCommand();

src/main/java/seedu/duke/calendar/CalendarManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ public CalendarManager(ArrayList<Event> events) {
2323
EventDirectory eventdirectory = new EventDirectory();
2424
eventdirectory.listEventFiles();
2525

26-
storage = new EventStorage("./data/events/event.txt");
26+
storage = new EventStorage(eventdirectory.defaultDirectory());
2727

2828
try{
2929
eventList = storage.loadEvents();
3030
} catch (FileNotFoundException e){
31-
System.out.println("Making new file for Events");
31+
//System.out.println("Making new file for Events");
3232
eventList = new EventList(events);
3333
}
3434

src/main/java/seedu/duke/calendar/EventDirectory.java

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package seedu.duke.calendar;
22

33
import java.io.File;
4+
import java.util.logging.Level;
5+
import java.util.logging.Logger;
46

57
/**
68
* directory for directory
@@ -10,21 +12,27 @@
1012
*/
1113

1214
public class EventDirectory {
15+
private static Logger logger; // for logging
1316
String path;
1417
File file;
1518

1619
public EventDirectory(){
20+
logger = Logger.getLogger("flashDir");
21+
1722
path = "./data/events";
1823

1924
file = new File(path);
2025
if(!file.exists()){
2126
if(file.mkdir()){
22-
System.out.println(" Created events directory");
27+
logger.log(Level.INFO, "Created events directory");
28+
//System.out.println(" Created events directory");
2329
} else{
24-
System.out.println(" Failed to create directory");
30+
logger.log(Level.INFO, "Failed to create directory");
31+
//System.out.println(" Failed to create directory");
2532
}
2633
} else{
27-
System.out.println(" Using data/events directory");
34+
logger.log(Level.INFO, "Using data/events directory");
35+
//System.out.println(" Using data/events directory");
2836
}
2937
}
3038

@@ -35,12 +43,15 @@ public EventDirectory(){
3543
public void listEventFiles(){
3644
String[] eventFiles = file.list();
3745
if(eventFiles == null){
38-
System.out.println("Failed to find files");
46+
logger.log(Level.INFO, "Failed to find files");
47+
//System.out.println("Failed to find files");
3948
} else if(eventFiles.length == 0){
40-
System.out.println("No files exist");
49+
logger.log(Level.INFO, "No files exist");
50+
//System.out.println("No files exist");
4151
} else{
4252
for(String eventFile : eventFiles){
43-
System.out.println(" "+eventFile);
53+
logger.log(Level.INFO, eventFile);
54+
//System.out.println(" "+eventFile);
4455
}
4556
}
4657
}

src/main/java/seedu/duke/calendar/EventList.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package seedu.duke.calendar;
1+
//@@ kherlenbayasgalan
22

3+
package seedu.duke.calendar;
34

45
import java.util.ArrayList;
56

@@ -18,11 +19,28 @@ public ArrayList<Event> getEvent() {
1819
return eventList;
1920
}
2021

21-
public int getSize(){ return eventList.size();}
22+
// for logging
23+
public int getSize() {
24+
return eventList.size();
25+
}
26+
27+
public void findEvent(String keyword) {
28+
int count = 0;
29+
for (Event event: eventList) {
30+
if (event.getName().contains(keyword)) {
31+
System.out.println((++count) + ". " + event);
32+
}
33+
}
34+
}
2235

2336
public void deleteEvent(String name) {
2437
eventList.removeIf(event -> event.getName().equals(name));
2538
}
39+
40+
public void deleteAllEvents() {
41+
eventList.clear();
42+
}
43+
2644
@Override
2745
public String toString() {
2846
return "EventStorage{" +

src/main/java/seedu/duke/calendar/EventStorage.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,21 @@
77
import java.time.LocalDateTime;
88
import java.util.ArrayList;
99
import java.util.Scanner;
10+
import java.util.logging.Level;
11+
import java.util.logging.Logger;
12+
1013

1114
/**
1215
* storage for Events
1316
* One storage manages one file
1417
*/
1518
public class EventStorage {
19+
private static Logger logger; // for logging
1620
protected String path;
1721

1822
public EventStorage(String path){
1923
this.path = path;
24+
logger = Logger.getLogger("flash");
2025
}
2126

2227

@@ -58,14 +63,22 @@ public EventList loadEvents() throws FileNotFoundException{
5863
eventList.addEvent(loadEvent(eventTokens));
5964
}
6065

61-
System.out.println(String.format(
66+
logger.log(Level.INFO, String.format(
6267
" There are currently %d events in the savefile",
6368
eventList.getSize()));
69+
//System.out.println(String.format(
70+
// " There are currently %d events in the savefile",
71+
// eventList.getSize()));
6472

6573
return eventList;
6674

6775
}
6876

77+
/**
78+
* saveEvents method
79+
* save all events to file
80+
* @param eventList
81+
*/
6982
public void saveEvents(ArrayList<Event> eventList) {
7083

7184
try {
@@ -78,7 +91,8 @@ public void saveEvents(ArrayList<Event> eventList) {
7891
}
7992
fw.close();
8093
} catch (IOException e){
81-
System.out.println("Failed to save.");
94+
//System.out.println("Failed to save.");
95+
logger.log(Level.WARNING, "problem: failed to save");
8296
}
8397
}
8498

src/main/java/seedu/duke/calendar/command/AddEventCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import java.util.Scanner;
99
import java.time.LocalDateTime;
1010

11-
public class AddEventCommand extends EventCommand{
11+
public class AddEventCommand extends EventCommand {
1212
public void execute(Scanner scanner, EventList eventList) {
1313
System.out.print("What's the event?: ");
1414
String eventName = scanner.nextLine();

0 commit comments

Comments
 (0)