Architecture - SCCapstone/CapstoneProject GitHub Wiki
List all the languages/frameworks/libraries/services/APIs you plan to use. Explain how they will tie together.
This will be a webapp written in HTML, CSS, JavaScript (& JSON), and PHP, using the Laravel PHP framework and the Blade PHP templating engine, using MySQL for database and authentication.
What package/build manager will you use?
We will use Composer and npm.
List what each person will work on.
- Camryn
- Calendar
- Chat
- Colin
- Settings - Invite
- Shopping
- Lauren
- Create account
- Home
- Sign-in
- Nico
- Contact
- Settings - Profile
- Roscoe
- Settings - Emergency
- Settings - Housing Info
- Settings - Socials
Deployment: How will you deploy? Which hosting provider(s)? Automation? Scripts?
We will be using Forge for all hosting.
Are you using Virtual Machines (vmware, vbox, etc) or Containers (docker) for development or deployment? Explain.
We will be using xampp for hosting during development.
Is it a SPA or traditional? or mix? Explain. (My web application development lectures explain the difference.)
It will be a traditional webapp.
List of URLs you will implement. Explain any search arguments in English. Link (actual hyperlink) each URL to the page it shows in your Detailed Design milestone.
- /
- /contact
- /settings/profile
- /settings/emergency
- /settings/info
- /settings/invite
- /settings/social
- /sign-in
- /sign-in/sign-up
- /shopping
- /calendar
- /chat
If implementing a REST API, document it. List all methods, parameters, and give English description of what they do.
We are not using a REST API.
The Views of your app. Embed the images from your Design Milestone. Typically, a webpage includes multiple views.
For example, this webpage has a Header, Menu, and Content views (at least).
Create An Account:
Sign in:
Home Page:
Calendar Page:
Grocery Page:
Chat Page:
Contacts Page:
Settings -- Personal Information
Settings - Social Media Information
Settings -- Emergency Contact Information
Settings -- Housing Information:
Settings -- Roommates Information:
The Database schema: set of tables/documents with list of attributes and their types. Describe each table and attribute in English.
- Users: (contains user info such as username and password)
- user_id -> INT
- created_at -> date
- updated_at -> date
- username -> varChar
- password -> varChar
- Contact_info: (contains all contact info for each particular user)
- user_id -> INT
- created_at -> date
- updated_at -> date
- name -> varChar
- phone -> integer
- email -> varChar
- gmail -> varChar
- emergencyPhone -> integer
- instagram -> varChar
- snapchat -> varChar
- venmo -> varChar
- Grocery_list: (a list of grocery items, includes who added the item and the type of item)
- user_id -> INT
- created_at -> date
- updated_at -> date
- user -> varChar
- food -> varChar
- drinks -> varChar
- supplies -> varChar
- other -> varChar
- Reminders: (a list of text reminders)
- user_id -> INT
- created_at -> date
- updated_at -> date
- assignments -> varChar
- meetings -> varChar
- bills -> varChar
List of common queries you expect will be needed. Do any of then need to join tables?
None need to join tables.
- $user->username = request('username');
- $contact_info->name = request('name');
- $contact_info->phone = request('phone');
- $contact_info->gmail = request('gmail');
- $contact_info->emergencyPhone = request('emergencyPhone');
- $contact_info->instagram = request('instagram');
- $contact_info->snapchat = request('snapchat');
- $contact_info->venmo = request('venmo');
- $grocery_list->user = request('user');
- $grocery_list->food = request('food');
- $grocery_list->other = request('other');
- $reminders_list->reminders = request('reminders');