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.samplenamedAnnotato/settings.yml.
cp Annotato/settings.yml.sample Annotato/settings.yml- Open
Annotato/settings.ymland replaceDEVELOPMENT_TEAMandPRODUCT_BUNDLE_IDENTIFIERwith 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-checkoutchmod +x .git/hooks/post-checkoutecho -e '#!/bin/sh\ncd Annotato\nxcodegen --use-cache\npod install' > .git/hooks/post-mergechmod +x .git/hooks/post-mergeCocoaPods 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 cocoapodspod installPlease take note of the following to avoid issues when building the project:
- Once
pod installis done, do not re-runxcodegen. If you need to do so, re-runpod installafter eachxcodegen. - Open the project in Xcode using only
Annotato.xcworkspaceand notAnnotato.xcodeproj.

