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.

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:

Screen Shot 2021-09-26 at 7 52 44 PM

Sign in:

Screen Shot 2021-09-26 at 7 53 44 PM

Home Page:

Screen Shot 2021-09-26 at 7 54 28 PM

Calendar Page:

Calendar Page

Grocery Page:

Grocery Page

Chat Page:

Chat Page

Contacts Page:

Contacts Page Screenshot

Settings -- Personal Information

Settings - Personal Page

Settings - Social Media Information

Settings - Social Page

Settings -- Emergency Contact Information

Settings - Emergency Page

Settings -- Housing Information:

Screen Shot 2021-09-26 at 7 54 04 PM

Settings -- Roommates Information:

Screen Shot 2021-09-26 at 7 54 14 PM

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');