Git Product home page Git Product logo

annotato's Introduction

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.

annotato's People

Contributors

darren2pro avatar ganhongyao avatar sivayogasubramanian avatar zognin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.