# Software Outline
Table of Contents
- [Backend Architecture](#backend-architecture)
- [Admin UI](#admin-ui)
- [Main Website](#main-website)
- [User Dashboard](#user-dashboard)
- [Website Templating](#website-templating)
- [Customizable Templates](#customizable-templates)
- [Blog Management](#blog-management)
- [Patient Management](#patient-management)
- [Appointment Management](#appointment-management)
## Backend Architecture
This work relates to the database that houses all of the persistent data used in the software, plus the server that allows the software's UI to read and write to the database.
- [ ] Database has intelligent data relations.
- [ ] Database has realtime (pub/sub) data capabilities.
- [ ] Server load balancing.
- [ ] Server maintains user sessions.
- [ ] Server has automated test coverage.
- [ ] Server has strict development to production pipeline.
- [ ] Server provides outward facing REST API.
***Est. time**: 2 weeks*
***Est. cost**: $2,250*
## Admin UI
You need a UI to manage the platform that you sell to your customers. Your administrative UI will require, at least, a way for you to manage your customers.
- [ ] User can log in.
- [ ] User can log out.
- [ ] User can reset password from log-in.
- [ ] User can update account information.
- [ ] User can browse, search, and filter customer accounts.
- [ ] User can view customers' account information.
- [ ] User can update customers' account information.
- [ ] User can create new customer accounts.
- [ ] User can deactivate customer accounts.
- [ ] User can delete customer accounts.
- [ ] Admin can add new users.
- [ ] Admin can deactivate users.
- [ ] Admin can delete users.
***Est. time**: 2 weeks*
***Est. cost**: $2,250*
---
## Main Website
Your main competitors have their UI and UX polished. In order for you to compete, your brand must look as trustworthy, modern, and inviting as theirs.
Branding and design will be a massive part of your success, regardless of the functionality you offer. See: [Aesthetic Usability Effect](https://en.wikipedia.org/wiki/Aesthetic%E2%80%93usability_effect)
> The Aesthetic Usability Effect refers to users’ tendency to perceive attractive products as more usable. People tend to believe that things that look better will work better — even if they aren’t actually more effective or efficient.
- [ ] Main website design.
- [ ] Main website development.
***Est. time**: 1 week*
***Est. cost**: $1,250*
## User Dashboard
Your users will need a dashboard to give them access to all the different features and services you offer, as well as to manage their own account information. The dashboard is essentially a portal to a variety of inner-softwares that modify the user's account settings/data in different ways.
_This work is specifically aimed at creating the UI for the user to be able to access other features when they are developed. The dashboard will be the "tree" and features will attach as "branches"._
- [ ] User can log in.
- [ ] User can log out.
- [ ] User can reset password from log-in.
- [ ] User can update account information.
- [ ] User sees dashboard skeleton upon login.
***Est. time**: 1 week*
***Est. cost**: $1,250*
## Website Templating
Once inside the dashboard, customers should have the ability to navigate to the website management view and choose from a selection of pre-created templates for their website design. If they have already chosen a template, they can modify their website's settings.
- [ ] Browse templates.
- [ ] User can browse templates.
- [ ] User can select template for their website.
- [ ] User can customize selected template to fit their business.
- [ ] User can save / apply changes to their customized template.
***Est. time**: 2 weeks*
***Est. cost**: $2,250*
*Note: This depends on how the customer will use the template. If they are going to simply copy and paste the code into their own hosting, that is easy to provide. If we are the host, there is an added layer of complexity.*
## Customizable Templates
The templates a customer can choose from for their website need to be created first, of course. The templates should look professional, be pre-optimized for SEO, and should be customizable to fit each customer's brand. Each template needs to include the option for the live chat feature and also integrate with the FAQ database.
- [ ] Develop various flexible templates.
- [ ] Optimize templtes for SEO.
- [ ] Build live chat module.
- [ ] Build FAQ database integration.
- [ ] Templates should include blog template page.
- [ ] Templates should include blog post template page.
- [ ] Templates should include "schedule appointment" template page.
***Est. time**: 3 weeks*
***Est. cost**: $3,250*
## Blog Management
Customers' websites can include blogs for SEO value. The customers should be able to manage the content on their website's blog from the dashboard.
- [ ] User can browse, search, and filter their blog posts.
- [ ] User can author new blog posts.
- [ ] User can unpublish blog posts.
- [ ] User can publish blog posts.
- [ ] User can delete blog posts.
- [ ] User can schedule blog posts to be published.
- [ ] User can browse, search, and filter "prefab" blog posts.
- [ ] User can create a blog post from a "prefab" blog post.
***Est. time**: 3 weeks*
***Est. cost**: $3,250*
## Patient Management
In the dashboard, the user needs to manage their patients.
- [ ] User can create a new patient.
- [ ] User can update a patient's information.
- [ ] User can see appointments related to a patient.
- [ ] User can keep notes related to patients.
***Est. time**: 2 weeks*
***Est. cost**: $2,250*
## Appointment Management
In the dashboard, a customer needs to manage their calendar. The way they set up their calendar will affect what days and time slots are available for a patient to schedule using the customer's website.
- [ ] User can manually input appointments.
- [ ] User can mark days and time slots as unavailable.
- [ ] User can remove unavailable marks to open days/times back up.
- [ ] User can view notes about past appointments from within calendar.
- [ ] User can associate appointments with patients.
- [ ] Patients can schedule appointments from customer's website.
- [ ] Patients can only see available/unavailable slots, not details.
***Est. time**: 3 weeks*
***Est. cost**: $3,250*