Step 1: Let's plan out our app
What are we building?
In this walk-through we'll go through the process of building a Contact Management app from idea to full implementation.
We have 5 main objectives:
- Build a beautiful mobile friendly web app to:
- Track all the companies we're working with
- Track all the contacts in each company
- Track all the updates of each contact and any correspondence we've had with said contact.
- Secure all pages to our company admins.
So how will we build this app? we'll go through a few steps.
- Define Your Data
- Define your workflow
- Add your tables and build your data
- Add the pages and views
- Secure the pages
Define the data
We'll define which data we want to collect. This can be done prior to even touching the app builder, simply draw out the tables and fields you wish In our case we have 3 sets of data each with its own unique fields/columns.
As you can see from above we have 3 tables, and if you notice the Contacts table has a "Company Name" field and the "Note" table has a "Contact" field. We want to use these as connections so when we add a new contact we can associate this contact with a specific company and when we add a new note we associate the note with a specific Contact.
Essentially, our data looks like this:
- Each Company has many contacts
- Each Contact belongs to a Company and has many Notes
- Each Note belongs to a contact
If we were draw out the relationship it would look like this:
Define Your Workflow
So you don't waste too much time doing and redoing your app, it's highly advisable to define your workflow ahead of time. This can also be what process you want you and your users to take when they come to your fully build app.
In this simple Contact Management application, the workflow will be quite simple but as your applications become more complex this can drastically help you save time and energy.
In our case we want:
- Our company employees go to: https://contacts.mycompany.com
- Employees login with credentials provided by IT
- Employee can browse any company in the database
- Employee can add new companies if it doesn't exist in the database
- Employee can view further details about each company as well as all the contacts in the company
- Employee can add additional contacts into any company
- Employee can add notes about any contact within each company
- Employee logsout when he's done.
Since we've already built this app, here's how this will look:
Now that we have our requirements, data and workflow layout let's start building.
Click Next below.