Annotato is an application that provides more than just writing and taking down notes!
Annotating your lecture notes while listening to lectures or while doing revision will never be the same again. Our application supports creating annotations from handwriting, markdown, and more. You can also share documents with your friends and collaborate with them in real-time.
You can view annotations as an overlay on the PDF file as a minimized version for you to easily skim through the entire document to get a sense of the notes you carefully made, or you can tap a particular annotation to expand it to display more information.
This iPadOS app is made as a final project in CS3217. Made with ❤️ by:
The demo video can be found here.
Annotato won the second place for the 20th SoC Term Project Showcase (STePS).
The following workflow was inspired from https://github.com/Dynavity/dynavity.
This project uses XcodeGen to generate Xcode project files. As such, a prerequisite is to install XcodeGen.
- Install XcodeGen
brew install XcodeGen
- Create a copy of
Annotato/settings.yml.sample
namedAnnotato/settings.yml
.
cp Annotato/settings.yml.sample Annotato/settings.yml
- Open
Annotato/settings.yml
and replaceDEVELOPMENT_TEAM
andPRODUCT_BUNDLE_IDENTIFIER
with your Team ID and a unique product bundle identifier respectively. One way to get your Team ID is by going to the Build settings in Xcode, choosing your team, then viewing the source file ofproject.pbxproj
.
You can now generate your project settings by navigating to the directory containing project.yml
, and executing xcodegen
.
To automate the process, the following githooks can be added so that the xcodegen
command will be executed on checkouts / pulls.
Warning: The following commands will overwrite whatever githooks you previously had for post-checkout
and post-merge
.
Assuming you are at the root directory of the repository, execute the following commands:
echo -e '#!/bin/sh\ncd Annotato\nxcodegen --use-cache\npod install' > .git/hooks/post-checkout
chmod +x .git/hooks/post-checkout
echo -e '#!/bin/sh\ncd Annotato\nxcodegen --use-cache\npod install' > .git/hooks/post-merge
chmod +x .git/hooks/post-merge
CocoaPods is used to manage third-party dependencies such as Firebase.
Before opening the project in Xcode, run the following command in the project root directory (Annotato/
).
sudo gem install cocoapods
pod install
Please take note of the following to avoid issues when building the project:
- Once
pod install
is done, do not re-runxcodegen
. If you need to do so, re-runpod install
after eachxcodegen
. - Open the project in Xcode using only
Annotato.xcworkspace
and notAnnotato.xcodeproj
.