From 18941c4d6bac40a720759d9b01416757ac3dd0e9 Mon Sep 17 00:00:00 2001 From: KrashKart Date: Sat, 5 Oct 2024 13:54:09 +0800 Subject: [PATCH 1/3] Edit README.md for dashboard check Let's: * Remove template provided by AB3 * Add our own description for CampusConnect * Add acknowledgements to the original AB3 site --- README.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ba66bfdbabe..2d567cc4ead 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,12 @@ ![Ui](docs/images/Ui.png) -* This is **a sample project for Software Engineering (SE) students**.
- Example usages: - * as a starting point of a course project (as opposed to writing everything from scratch) - * as a case study -* The project simulates an ongoing software project for a desktop application (called _CampusConnect_) used for managing contact details. - * It is **written in OOP fashion**. It provides a **reasonably well-written** code base **bigger** (around 6 KLoC) than what students usually write in beginner-level SE modules, without being overwhelmingly big. - * It comes with a **reasonable level of user and developer documentation**. -* It is named `CampusConnect` (`CC` for short). +# CampusConnect +A seamless platform for undergraduate students to exchange contact information and socialise. + +# Features +CampusConnect not only provides basic contact information storage solutions, but also custom tagging, searching, and +sorting features for quicker and easier organisation contact retrieval. + +# Acknowledgements +This project is based on the AddressBook-Level3 project created by the [SE-EDU initiative](https://se-education.org). From 0b22d227a0108d39b9d713775a984be52462900b Mon Sep 17 00:00:00 2001 From: KrashKart Date: Sat, 5 Oct 2024 14:15:25 +0800 Subject: [PATCH 2/3] Change Ui.png Add in a more customised mockup --- docs/images/Ui.png | Bin 14607 -> 21445 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/Ui.png b/docs/images/Ui.png index 5bd77847aa2429edac366ebe3e00650b6dd909d8..fd3f53a7d7cd223405f0aaa1dcff004d10513efa 100644 GIT binary patch literal 21445 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 CdD4Uc literal 14607 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 RAXge19gVx{rMDi1{6Bg4z)AoB From 3c826c9542099f5f02859a0b827dfc74aba3cf82 Mon Sep 17 00:00:00 2001 From: KrashKart Date: Sat, 5 Oct 2024 14:21:43 +0800 Subject: [PATCH 3/3] Fix grammar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2d567cc4ead..4502e769dda 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ A seamless platform for undergraduate students to exchange contact information a # Features CampusConnect not only provides basic contact information storage solutions, but also custom tagging, searching, and -sorting features for quicker and easier organisation contact retrieval. +sorting features for quicker and easier organisation and contact retrieval. # Acknowledgements This project is based on the AddressBook-Level3 project created by the [SE-EDU initiative](https://se-education.org).