Skip to content

agirnob/SandyINF303

Repository files navigation

SANDY PERSONAL ASSISTANT

A note managing application that makes planning easier with a user-friendly design and additional functions such as categorization of created notes into notebooks and calendar-note synchronization.

Motivation

First of all, while starting this project as Team SANDY, we wanted to create a project that people really need rather than just making a born-dead project for the lesson. The first thing we did for this was a large-scale market research on mobile platforms. Also, by talking to students and our family, we wrote down the ideas people wanted or needed without even realizing the need of it. Then, as a result of various meetings and brainstormings, we all decided to focus on a common idea. There are many note apps on the market, but these apps provide users only to take notes.

Many users have already mentioned that they use their operating systems' own note applications to take notes, so how could we create a note-taking application that people can use just by downloading it, instead of sticking to apps within operating systems? We focused on this idea because neither the note applications on the application market nor the ones that come within operating systems promised more than they could: "Just take notes.". Rather than being a note app with inaccurate design and a variety of useless interfaces, while we were designing SANDY Personal Assistant, we wanted it to have not only a note function but also other functions as a notification provider and synchronization with other event calendar apps in the phone. The user could easily set a notification and attach the notes he wrote to a future date using the synchronization with local calendar feature and push notifications to recall them later. Notes can be attached to calendars from different accounts with the help of Google Calendar API. Besides that, user can categorize the notes that were created by creating notebooks, then can attach these notes to these created notebooks. Also notebook interface provides two types of views, one showing notes in a notebook as lists and the other as legacy Notebook view.

While designing the SANDY Personal Assistant, we did not forget that this project was a school project. Since none of us have been involved in a teamwork in that much large-scaled project before, we think that project SANDY Personal Assistant will teach us how to work as a team, help us to understand the true meaning of task distribution and the importance of in-group meetings. As our internship time approaches, we do our best to simulate the environment as if we were members of a real company. We can benefit from the INF303 course as a step towards offering the market a product that we can describe as not only "successful", but also a unique application in the market with sufficient quality, and that will help us to expand our horizons, along with a valuable experience.

Project Management

Link to Project Sprint Plan: https://docs.google.com/spreadsheets/d/1tpG6FR0lqa37Do27dXSEBnejVzWrKu9ZSy2qZxor1-o/edit?usp=sharing

Project Documentation

Link to SANDY Personal Assistant project documentation: https://docs.google.com/document/d/10kPEmid2QVStlyID9hTiC8dXXLjdGt-T/edit#heading=h.2hfnqdxajnrn

Technical Infrastructure of the Project

  • Runtime Environment: Android OS

  • Development Environment: Android Studio

  • Third-party components: Irshulx-WYSIWYG Editor library, Robolectric Unit Test Framework

  • Programming language: Java

  • Coding principles: Object Oriented Programming

  • Architectural principles: Model View Controller Design Pattern

  • Data Storage Environment: SQLite Internal Database

Some screenshots from application: