Skip to content

YiChenLin2000/MemoCalendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MemoCalendar

A lightweight JavaFX desktop application for managing memos and calendar events. MemoCalendar allows users to register/login, create personal notes, schedule events on a calendar, and persist data locally for later use.


1. Clone this repository:
   git clone https://github.com/YiChenLin2000/MemoCalendar.git
2. Open the project in an IDE that supports JavaFX
3. Run Main.java to start the application.
4. No external dependencies required – just ensure Java 11+ and JavaFX are set up.

Features

 **User Authentication**  
  - Register new users  
  - Login with existing credentials  
  - Change password  

 **Memo Management**  
  - Add, view, edit, and delete memos  
  - Sort memos by creation time (latest first)  
  - Persist memos in local file using serialization  

 **Calendar Functionality**  
  - Browse a monthly calendar  
  - Add custom events with time and title  
  - Highlight days with events  

 **Local Data Persistence**  
  - Store user, memo, and event data locally in `.dat` files  
  - Restore data after application restarts  

---

 Technologies Used

- **JavaFX** – UI framework for building modern desktop applications  
- **SceneBuilder** – Declarative UI layout  
- **Java Serialization** – For saving and loading user/memo/event data  
- **OOP Principles** – Class Definition, Inheritance/Polymorphism, Abstract Classes/Interfaces, Generics/Collections/Iterators, Lists, Set/Maps  

Project Structure
| Functional Module  | Main Files                                                                 |
|--------------------|----------------------------------------------------------------------------|
| Login / Register   | `LoginView.java`, `RegisterView.java`, `User.java`, `UserManager.java`     |
| Password Management| `ChangePasswordView.java`                                                  |
| Memo Function      | `Memo.java`, `MemoController.java`, `add_memo.fxml`, `memoView.fxml`       |
| Calendar Function  | `CalendarView.java`, `CalendarView.fxml`, `Event.java`                     |
| Data Persistence   | `DataManager.java`, `memos.dat`                                            |
| Main Entry         | `Main.java`, `MainAppView.java` 


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors