You are on page 1of 20

CAPSTONE FINAL REPORT 1

FinishBooks

(No client)

CST 499 Directed Group Capstone

Ryan Peacock Timothy Miller

6/13/18
CAPSTONE FINAL REPORT 2

Table of Contents

Executive Summary 2

Solution to the Problem and/or Issue in Technology 5

Project Goals and Objectives 5

Community and Stakeholders 7

Evidence that the Project is Needed 9

Feasibility Discussion 10

Selection of design criterion 13

Final Deliverables 14

Approach/Methodology 14

Legal Considerations 15

Ethical Considerations 15

Final Implementation 17

Log In/Sign Up 17

User Books 17

Search Books 18

Make Schedule 18

Book Details 18

Update Progress 19
CAPSTONE FINAL REPORT 3

Conclusion 19

Executive Summary

Have you ever tried to start a habit of reading, bought a few books, finished the first

couple of chapters only to become unmotivated and never finish? When reaching our goals one

of the hardest and most rewarding disciplines to maintain is ​consistency. Even when your

passionate about the information you want to receive from a book, how is that you fail to follow

through, unlike the seamless ease of watching a tv show or listening to a podcast. FinishBooks is

a reading schedule app to help make sense of these difficulties and develop a constant habit of

starting and finishing a book. FinishBooks solves these problems by creating a realistic reading

schedule which can be met each day and then calculates an approximate end date that you will

finish your goal helping motivate you each day along the way.

FinishBooks will ask for basic info about your book: Title, Author, page length, and

desired average pages per day, than create an output end date you will reach your goal at. Each

day the user can enter how many pages they accomplished in reading. If the user meets their

daily average the end date will stay the same. If the user can’t put the book down and reads more

than the average pages their end date will grow closer. Life happens and when you miss a day or

read less pages it won’t mean additional work but will simply push back your end date.

FinishBooks will benefit users who are new to hobby of reading and even seasoned readers who

are looking for a more concrete way to implant their planning. Users who are new to reading will

be given a realistic schedule to reach their goals and start enjoying the vast world of information

that lie behind the pages.


CAPSTONE FINAL REPORT 4

This app is important because like myself there are many people who lack the skills and

discipline to naturally achieve the goal of finishing a book due to its indefinite and more

intellectually engaging experience. When we sit down to watch a tv show or listen to a podcast,

we’re excited about what we're going to do, and we know how long that endeavor is going to

take us. FinishBooks helps create the end in sight to know your task is worth the energy you will

put it.

Problem and/or Issue in Technolog​y

FinishBooks is a cross platform mobile application which will be developed using the

React Native framework. The application will be made available for both android and iOS

mobile devices through their respective app stores. The application aims to provide a realistic

reading schedule which sets the user up to have a manageable portion of pages to read for how

many days out of the week they wish, and motivates them along the way with a mutable end date

based on their performance. FinishBooks is not connected with any client but will be working

independently between both team members and utilizing the help of 3 to 5 associates and friends

that will be apart of a test group. The test group will feature a mix of those who the app is

especially targeted for being individuals who do not have strong reading habits and those who

are readers but will benefit from a concrete implementation of it. Many individuals will be

benefited from the application. FinishBooks is especially target to new readers or those who have

many times in the past tried to start a habit of reading but never made a constant pattern of it.

This application is important because it demonstrates how someone can use discipline

and motivation in a realistic way to accomplish their goal. FinishBooks specifically applies those

virtues to the context of reading books which has tremendous value in spreading information,
CAPSTONE FINAL REPORT 5

and developing stronger intellectual capacities. There is a vast amount of beneficial information

and captivating stories that are hidden away in the pages of a book waiting to be discovered. The

intellectual strength of exerting one's energy into reading is falling out of style with the ease of

other helpful mediums of communication. Contrasted with other mediums reading is a unique

way to stimulate the mind and enrich the individual with information and enjoyment.

Looking around in your house and on your bookshelves, how many books do you have?

Now compare that with how many you have actually read. Is there a significant gap between

those two? For many individuals including myself there is. How many of those books do you

know would be worth the time to read? We have many books lying around our house that we

know are of great importance and would enrich us in both enjoyment and learning. How is that

we never actually open it up? or better yet if we have read a few chapters, continue on to finish?

One of the ways that reading a book is different than the mediums of video and audio is its

intellectually challenge and indefinite scope of completion. A tv show and a podcast both have a

definite time frame of how long it's going to take you to finish the activity. Reading on the other

hand doesn’t have a set time limit that allows you see how long the engagement of your focus

will need be exercised to arrive at its completion.

Solution to the Problem and/or Issue in Technology

FinishBooks steps in to solve the challenges that make creating a habit of reading

difficult. The first way it tackles these problems is by giving an approximate finish time based on

the length of the book and rigor of schedule. The user will begin by entering the number of pages

in the book and then decide how many days a week they are going to read. Next, the user will
CAPSTONE FINAL REPORT 6

decide on the average amount of pages to be read on their reading days. With these variables in

place the application will output an end date the user will finish the book if they read the average

amount of pages for the number of days a week they have selected. The application will suggest

and encourage the user to start small with a goal of reading one book and choosing an realistic

and achievable amount of pages with a minimum of 5 to 7 days a week. The realistic average and

consistency of day after day will turn a once foreign practice into a rewarding habit.

Project Goals and Objectives

● Goal #1. Create a realistic and maintainable reading plan

● Objectives

○ Options for suggested paces of 5,10 or 15 which will allow for consistency

○ Flexible preview of end result to show user that a slower pace will still

reach their goals in a desirable amount of time

○ Allow options for choosing how many days a week to read

● Goal #2. Motivate the with the end goal progress

● Objectives

○ Display a mutable end date projection goal

○ Allow the user to enter progress daily

○ End date will stay the same or change with users performance.

● Goal #3. Display clean and user friendly interaction and layout

● Objectives

○ Utilize design and layout techniques


CAPSTONE FINAL REPORT 7

○ Thoughtful graphics/buttons and color choices

● Goal #4. Cross platform development

● Objectives

○ Utilize the technology of the React Native framework

○ Write React code which will run natively in both iOS and Android phones.

○ Deploy the application to both respective application stores.

● Goal #5. Efficient backend development

● Objectives

○ robust algorithm to gather information from the user and calculates how

long it will take a user to read a book.

○ Develop backend Web API that is able to effectively communicate with

the mobile application.

● Goal #6. Enhanced performance from user tested feedback

● Objectives

○ Gather a group of 3 to 5 individuals who meet our targeted range and

provide them with a test version

○ Organize and review feedback and make necessary adjustments

● Goal #7. Easy search functions for the user to look up books

● Objectives

○ Develop logic to communicate to the Google Gook API or (something

similar) to gather book images, page count and related book information

that the application needs to thrive.


CAPSTONE FINAL REPORT 8

Community and Stakeholders

The Stakeholders that will be included in this project will be my team member and

myself, as well as the consumers of the products. Fortunately as one of the team members and

developers I’m in a position where I’m developing something which I want to be a consumer for.

On the development side the team members of this project will be working to complete the goals

of the project in both functionality and purpose. The functionality of the project is that it will be

developed with React Native development framework and consequently be Cross Platform in

both Android and iOS mobile applications. The purpose of the project is that it will behave in a

user friendly way to input and output the correct results taken from user.

The community expansion of this project has very little bounds. The only community

boundary that I see is language in that the application will be in english and will exclude

communities who do not read english. One of the great things about reading is that is a medium

of information for almost any type of community interest out there. All types of communities,

organizations, belief systems, and companies have information that they want to communicate

and they very often will impart that into the pages of a book.

Team members have much to gain for the endeavor of this capstone project. The first

benefit of completing this challenging effort will be the success of using and understanding the

powerful React Native developing framework which has become increasingly popular in the

mobile app industry. Having put in the work of setting a project goal, working on a tight deadline

to meet it, and completing with the production of an efficient and user friendly application will

do much in preparing the team members for what work in the mobile industry is like. This
CAPSTONE FINAL REPORT 9

capstone project had originally began as an independent project but quickly turned into a two

team effort. Working with a team member will help build team working skills and foster the tight

knit communication that is necessary for group work. It was tempting to have the possibility of

working alone and having the vain pride of owing the success and completion for oneself, but the

reward of help and teamwork will pay off as so much of the development industry utilizes group

efforts.

The consumer stakeholders like the team members have much to gain in the successful

outcome of this application. Firstly the primary target consumer for the application, being new

readers will benefit by having the needed tools and motivation to begin their journey of learning

and discipline. New readers may have tried to start the principles of this application themselves

through means of paper or digital spreadsheets with the cons of much tedious work. FinishBooks

provides a sleek and user friendly application available and ready to use in their pockets

wherever they take it. The ease of entering the information and logic of the app spitting out the

schedule output takes the additional road block of starting a habit out of the way and sets the user

up for success. Secondarily the additional audience of those who have already built in a habit of

reading but are seeking a more efficient and concert approach.

The risks of loss for those involved in the project would be tied to the event of not

meeting the completion of the project. Those affected by the failure of the project would be both

team members and the consumers in failing to receive their final project. Consumers will have to

look elsewhere to find the service that we hope to provide and team members will miss out on

being the provider.


CAPSTONE FINAL REPORT 10

Evidence that the Project is Needed

The evidence that this is a needed project is filled in the unopened pages collecting dust

on the bookshelves in the homes of individuals across the nation and globe. The need for this

product first came from looking at myself and the poor concentration and discipline I had to read

a book. After proposing this project by myself and then linking up with my team member, they

as well expressed the reality of this problem in their own life. Many of my family and friends

relate to this struggle. This app is going to turn the books used for decorations on peoples coffee

tables into powerful tools in gaining more information and enjoyment.

Looking out into the various app stores, there are similar apps that have been created.

One similar app on the android store is Reading Planner, which has much of the same goals and

objectives as ours in inputting the data and outputting a date. While the basic functionality of

Reading Planner is there, we plan to tighten up the experience and provide a clean and clear

schedule and planning interface. One difference from Reading Planner is that FinishBooks will

be cross platform and available on both major mobile markets. From the looks of internet

searches there does not appear to be a similar app for the iOS market. FinishBooks will as well

have the added feature of AudioBooks scheduling which changes from pages per day to minutes

per day.

Feasibility Discussion

There are similar applications that currently exists in the app store. Most of the

reading-planning and scheduling apps center around sacred religious texts and various plans to
CAPSTONE FINAL REPORT 11

complete them. While applications that allow you to plan out schedules for specific books are

great FinishBooks will take that disciplinary measure and apply it to any book you would want to

read. One similar app on the android store is Reading Planner, which has much of the same goals

and objectives as ours in inputting the data and outputting a date.

While the basic functionality of Reading Planner is there, we plan to tighten up the

experience and provide a clean and clear schedule and plan interface. We have used and tested

the app “Reading Planner” and we noticed their functions from choosing to finish by a certain

date did not output a clear number of pages to be read for each day. Our project in deciding the

frequency of the schedule would like to operate on selecting how many days a week you will

read each week, rather than selecting blackout dates from a calendar. One difference from

Reading Planner is that FinishBooks will be cross platform and available on both major mobile

markets. From the looks of internet searches there does not appear to be a similar app for the iOS

market. Having a presence in both major mobile application stores is essential for gaining

popularity in our sphere of influence. By providing the availability in both Android and iOS app

stores, we will be increasing our reach and influence over the competition which only allows for

android use.

Aside from the main and crucial features that we aim to accomplish in length of the

capstone class, FinishBooks has ambitious plans in the future to set itself apart from similar

applications in a number of ways. Future plans include: audiobook options to create a schedule

based on minutes of listening per day instead of pages, social connectivity by allowing to post

completion success for finishing books to social media websites like twitter and facebook,

connectivity to the GoodReads social website by adding currently reading books from the site
CAPSTONE FINAL REPORT 12

into the application, and finally with the aid of developing our own API to produce the schedule

information we have the ability to create a web application form of the site to provide a greater

reach with the service.

While there are many similarities with FinishBooks and Reading Planner we additionally

plan to stand ahead of the competition by providing a greater user friendly interface and

application page efficiency. One of the first impressions of Reading Planner is poor user

interface design and clear efficient information display. FinishBooks plans to create a better user

interface and experience by utilizing design techniques and spending time on interface

graphics,buttons, and etc..

Functional decomposition of the project

As illustrated above our two major functions of the FinishBooks Capstone project are a

cross platform mobile application and an hosted Rest API. The technology that will be used for

the front-end development of the application is React Native. React native allows us to develop

one application that can be deployed across multiple mobile operating systems (Android and

IOS). For the back-end, we chose to use Heroku hosting and ReactJS and Loopback framework.

These frameworks allowed us to develop a REST API Service fairly quickly without a steep
CAPSTONE FINAL REPORT 13

learning curve. Also, since our mobile application is developed using react it made it a lot easier

to learn and implement.

Selection of design criterion

The first thing that users will do when they use the application is register their account. This will

allow users to securely store their data on our backend server that will be assessable anytime.

After the account is registered users are permitted to login into the application using their email

and password. Once logged users will be presented with a Book Library View. There users can

View Books that have been previously added or they can Search for a book that they would like

to read. The search will utilize the google book api massive book collection to gather data about

the book that is searched by the user. Some information that is include are book title, book name,

and page count.


CAPSTONE FINAL REPORT 14

Once a user finds the book that they would like to use the user will be directed to the

schedule view. In this view users can select fast they would like to read the book, for example: 1

month, 2 months or 3 months etc. From there the application will schedule the time that is

needed each day for the user to complete the book within the specified timeframe.

Final Deliverables

The final completed project deliverables are:

1. UI Design

2. Splash Screen & Other welcome screens if required (Login, Registration)

3. Fully functional mobile app

4. Beta Version or 1st Build release

5. Testing - User acceptance testing & Software assurance test.

6. Application webpage

Approach/Methodology

Given our small team size and small window of development time we chose a software

development methodology called Rapid Application Development (RAD). RAD is a form of

Agile software development methodology. Unlike Waterfall methods, RAD emphasizes working

software and user feedback over strict planning. The strait to the point approach has been great

for our small team this project. Our main approach is to reduce risks by tackling complex parts of

the application early in the project so that we can finish on time.


CAPSTONE FINAL REPORT 15

Given the exploration that our team has made in using the React Native development

framework we have had to organize and execute different means of researching and obtaining

information to build our project. We have used three main areas of research including: Developer

Guides and resources made by React Native, Video tutorials through websites such as Youtube

and Udemy, and various written articles and resources which give step by step guides in

implementing application components. Team Communication has been a crucial part in

executing our objectives and goals. We have been able to maintain consistent weekly group

meeting through google hangouts video chats and using Slack messaging application for more

frequent text communication.

Legal Considerations

Legal considerations in the project have included: clarifying the copyright availability for

the name and ideas, and any copyright concerns with connecting to API’s. Upon research there

does not appear to be any copyright over the ideas of the app, even with existing apps like

Reading Planner. Checking the Copyright status of the name has proven to be an issue and the

formal project name of “ReadMore” was found to be already copyrighted by a publishing

platform. The new title of the project “FinishBooks” was decided upon amongst the team

members. Despite the road bump of name copyright, we believe this obstacle ended up providing

us with a more direct and goal oriented name. We decided on using the Google Books API to

allow our users to search for the book to make a schedule with. Google is generous in providing

this information with full access and permission.


CAPSTONE FINAL REPORT 16

Ethical Considerations

FinishBooks has great potential to make a positive impact on its users and than

consequently in the community at large. Although one of the benefits of reading is that its

universal and generic aid in being a medium for the communication of ideas for any number of

groups leaves the possibility for ethical situations of it being used as a tool in the wrong hands.

One ethical consideration at hand is that FinishBooks can be used for individuals and groups to

apply themselves in the needed motivation to read unethical material which could result in

unethical actions. This consideration is difficult because of the reality and circumstances of the

freedom of expression.

The freedom to write and publish ideas is a great and necessary tool in the advancement

of truth. On the other hand the promotion of harmful and unethical material is a reality and it can

cause great harm to society. More difficulties can arise with the consideration of a scenario in

such a society that has deemed a certain ideology and practice to be evil, when in reality is

objectively true and not harmful. One can remember the rather fitting example of Fahrenheit 451,

a novel in which a society has began to burn books in its hostility to the uncomfortable truths

they contain. While the nature of the ethical considerations involved in this particular project are

complicated, they are not unlike what many mediums and tools for communication in the digital

aid have to face.

Groups and individuals who could be negatively impacted by the capstone may include

those who are unable to have access to a mobile device and obtain the benefits of the service

themselves. Individuals who are without access to a mobile device are very few and far between
CAPSTONE FINAL REPORT 17

these days and might only be made up by those who are financially set back, or children who do

not yet have a mobile device of their own.

The potential dangers that this project may produce in social injustice, and on an

environmental impact can be seen in both short and long term possibilities. For short term, users

could begin to fervently read harmful material and immediately act out in a harmful way toward

others. On a more long term scale possibilities of many individuals who start to read harmful

philosophies with the tools of the app could slowly works its way in forming and or

strengthening unethical movements.

Final Implementation

The main functions of the project include: the searching for a book via the google API

collection, creating a schedule plan based on the users input and book info, displaying the end

date goal for the schedule, and allowing the user to update their progress.

The project can be divided up into its several screens

● Log In/Sign Up

The Login and Sign Up screen allows the user to create an account by entering their information

and then being able to log in to the app, which will store their scheduling information. For both

screen there is a text link at the bottom indicating if the user needs to be on the other screen

instead given if they already have an account or they do not yet have an account.

● User Books

After logging in the User is taken to the User Books page where their library of schedules is

displayed. If they user has any current schedules they will be displayed in a list format down the
CAPSTONE FINAL REPORT 18

page. If the user does not have any schedules than the list will be empty and the screen will only

display the add book button. The user is able to add a book at any time, regardless if they have

schedules already or not. Once the user clicks the add book button they are taken to the search

books screen

● Search Books

The search books screen features a text box at the top which allows the user to enter in the text of

any book they are searching for. As the user enters text the API request is sent and books

according to the search text are actively displayed on the screen in list order. Once they user

finishes typing they are able to look through the list and select the book once it is found. By

selecting the book, the user is taken to the make schedule screen.

● Make Schedule

The Make Schedule screen is at the heart of the application, where the users selected book is

displayed with its relevant information including: book cover, author, title, and page count. The

user is than given text boxes to enter in how many daily pages they would like to read and how

many days per week they will be reading. Based on the users input, we calculate how long it is

going to take the user to read and display the end date for the user on the book details page.

● Book Details

After submitting the schedule the user is taken back to the User Books page where they see a

thumbnail preview of their book, along with the end date, and pages left to read. The user is able

to select the book which takes them to the Book Details page. The Book Details page displays

the book information along with the users scheduling information. Bellow the book items there is
CAPSTONE FINAL REPORT 19

two buttons for the user to push: update progress and delete schedule. The user is able to delete

the schedule from their user library by clicking the delete schedule button. The User can update

their progress by clicking on update progress button.

● Update Progress

Once the user clicks the update progress button they are taken to the Update Progress page where

they are able to enter the amount of pages that they have read. The user simply enters in the

current page that they are stopped at which is calculated to determine how many pages they have

read since there last update, or for the first time, and than compares the amount of pages to their

daily goal. If they user meets there goal, they are notified at their accomplishment and there end

date stays the same. If the user goes below there goal they are notified and there end date will be

pushed back. If the user goes above there goal they are notified and the end date will grow

closer. When the user finishes the book, they are alerted that they have completed their goal and

the book is finished! The user is then able to keep the book in their user books library or delete

the schedule and begin a new book. The user can have multiple different schedules going at the

same time as well.

Conclusion

Many people have the desire to learn new information and enjoy a great story in a book

but can lack the motivation and discipline to actually finish a book they pick up. FinishBooks

will prove to be a tool for those individuals to be set up with a realistic schedule that will

motivate them along their way to the finish. Throughout this report we've shown the various
CAPSTONE FINAL REPORT 20

components of this project including the problem in technology, its solution, the ethical/legal

considerations involved, and documented the different planning and organizational aspects

involved in executing this application. We've used many different tools and resources to help us

reach our goal in the completion of this project. The Agile Design methodology was primarily

used in giving us a foundation for our work organization. We benefited greatly from frequent

communication from daily text and video updates, to weekly video meetings to evaluate our

progress and move forward.

Many valuable skills have been learned and continued experience gained throughout the

course of the project. Team collaboration can be both a great benefit and challenge, especially in

long distance teamwork. We were able to learn the importance of frequent communication and

project evaluation. Pair Programming, while not used as much, proved to be a great tool in

collaboration. Setting up goals and expectations in our team meetings helped in executing further

progress. Being able to move on from project setbacks and continue progress and coming back to

those bugs proved to be useful in continuing a steady process of project advancement.

Our vision for the future of FinishBooks is to make it fully available in both application

stores and release our first version for the general public. We would like to continue to build

upon our product and add new features to greater benefit our user in tackling the challenge of

finishing books. Design and user experience are a priority in improving the functionality of the

application. We hope to see popular success with our application and the positive impact it will

have on helping individuals reach their goals.

You might also like