Building a Time-Tracking Web App with Oracle APEX – From Idea to Prototype

We’ll begin the development of our app prototype with a simple question: How can we make time tracking and project management easier for small businesses and freelancers alike? The answer lies in creating a user-friendly, efficient, and adaptable web application. In this blog post, I’ll walk you through the initial stages of our project, focusing on the essential step of building a data model using Oracle SQL Data Modeler.

Unpacking the concept

Before diving into the technical nitty-gritty, let’s take a moment to understand the problem we’re trying to solve. Many small businesses offer their services to various clients and need a reliable way to track the hours they’ve worked. Imagine you’re a freelance developer, a one-man band marketing agency, or even a creative consultant – you’ve got projects, clients, and deadlines to juggle. How do you keep track of it all? That’s where our app, affectionately named “REST Work Diary,” comes into play.

The Quest for Functionality

To get started, we gathered feedback from potential users who are familiar with project-based work. They shared their pain points and desires, which helped us define the app’s functional requirements. Most importantly, our users want to record their billable hours and establish a clear timeframe for their tasks. The process is straightforward: agree on an hourly rate with the client, track your time, and generate invoices based on the hours worked. Below is a Level-0 context diagram where we captured application’s workflow. It shows how various ‘actors’ interact with each other and the flow of information within the system. These diagrams are typically used for planning, describing, or troubleshooting software systems and their dataflows.

A diagram captures a simple workflow between the User, REST Work Diary, the Client, and the Accountant. The user logs hours worked in the REST Work Diary, and it manages data on earnings and new clients. User can create invoices that are sent to clients and provide a list of issued invoices to the accountant.

Initial Context Diagram: User Interaction with REST Work Diary App
Initial Context Diagram: User Interaction with REST Work Diary App

Level-1 DFD Diagram expands the dataflow described above, showing a database as a central repository for data. There are three main components which are functionalities provided by our app: Create/Update Client, Create/Update Diary Entry, and Create/Update Invoice. User interacts with it to manage client data, diary entries, and invoices. The app provides overviews and error messages to the user.

Level 1 DFD Diagram describes the dataflow in more detail.

But our app won’t stop there. It’s not just about time tracking; it’s about giving users a holistic view of their business performance. In addition to recording hours, “REST Work Diary” will provide valuable insights and key performance indicators, giving users a comprehensive overview of their business operations. It’s like having a personal assistant who keeps you on top of your game.

Building Blocks with Oracle APEX

With our functional requirements in hand, we were ready to dive into the development phase. To build our web app prototype, we chose Oracle APEX, a low-code development tool that simplifies the process of creating web applications. Oracle APEX offers a user-friendly interface, seamless REST service integration, and rapid iterative development capabilities. And the best part? You can use it for free with Oracle’s database!

Designing the Data Model

But wait, before we jump headfirst into coding, we need to lay a solid foundation – our data model. This is where Oracle SQL Developer Data Modeler comes into play. This fantastic tool allows us to design and structure our database tables, ensuring that our app stores and retrieves data efficiently.

In the next blog post, we’ll roll up our sleeves and start creating our data model step by step. Even if you’re not a seasoned developer, I promise to break down the process into bite-sized, easily digestible pieces. By the end of this journey, you’ll have the knowledge and tools to build your web app prototype, just like we’re doing with “REST Work Diary.”

So, whether you’re an aspiring developer, a business owner looking to streamline operations, or just someone curious about the magic behind web apps – follow along, and let’s embark on this tech adventure together. Who knows, by the end of it, you might just be inspired to turn your own brilliant idea into reality!

Stay tuned for the next blog, where we’ll tackle the exciting world of data modelling. Until then, happy brainstorming, and keep those creative gears turning!