Book Image

Learning JavaScriptMVC

By : Wojciech Bednarski
Book Image

Learning JavaScriptMVC

By: Wojciech Bednarski

Overview of this book

<p>JavaScriptMVC is a client-side, JavaScript framework that builds maintainable, error-free, lightweight applications as quickly as possible. As it does not depend on server components, it can be combined with any web service interface and server-side language.<br /><br />"Learning JavaScriptMVC" will guide you through all the framework aspects and show you how to build small- to mid-size well-structured and documented client-side applications you will love to work on.<br /><br />This book starts from JavaScriptMVC installation and all its components are explained with practical examples. It finishes with an example of building a web application. You will learn what the JavaScriptMVC framework is, how to install it, and how to use it efficiently.<br /><br />This book will guide you on how to build a sample application from scratch, test its codebase using unit testing, as well as test the whole application using functional testing, document it, and deploy the same. After reading Learning JavaScriptMVC you will learn how to install the framework and create a well-structured, documented and maintainable client-side application.</p>
Table of Contents (13 chapters)

Time tracking and invoicing for freelancers


The app we are going to build in this chapter is called Time tracking and invoicing for freelancers; let's call it TTI in short.

Application development will only start here. We are not going to write the complete code base, it will be simply too big to fit it here. It's like a homework exercise, when students start their writing application at university and finish them at home. Be creative!

Planning

Okay, so we are going to write an application. Now it's time to answer the most important question: What problem is our application is about to solve?

We can clearly identify two main application areas:

  • Tracking time we spend on a task

  • Making an invoice

Let's break down our application's main areas into a features list as follows:

  • Clients list

  • Time tracker

    • Track time

    • Fixed cost task

  • Reports

    • Daily

    • Weekly

  • Statistics

    • Monthly

    • Yearly

  • Invoicing

  • Export and import data

A features list will help us make a development plan. Now we can think about how much time we need to accomplish...