kevinchua6 / annotato

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Annotato

 

Overview

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.

Team Members

This iPadOS app is made as a final project in CS3217. Made with ❤️ by:

Demo video

The demo video can be found here.

Getting started

The following workflow was inspired from https://github.com/Dynavity/dynavity.

Setting up XcodeGen

This project uses XcodeGen to generate Xcode project files. As such, a prerequisite is to install XcodeGen.

  1. Install XcodeGen
brew install XcodeGen
  1. Create a copy of Annotato/settings.yml.sample named Annotato/settings.yml.
cp Annotato/settings.yml.sample Annotato/settings.yml
  1. Open Annotato/settings.yml and replace DEVELOPMENT_TEAM and PRODUCT_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 of project.pbxproj.

You can now generate your project settings by navigating to the directory containing project.yml, and executing xcodegen.

Automating project files generation

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

Setting up CocoaPods

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-run xcodegen. If you need to do so, re-run pod install after each xcodegen.
  • Open the project in Xcode using only Annotato.xcworkspace and not Annotato.xcodeproj.

About


Languages

Language:Swift 99.3%Language:Dockerfile 0.6%Language:Ruby 0.1%