Skip to content

Latest commit

 

History

History
94 lines (75 loc) · 3.13 KB

readme.md

File metadata and controls

94 lines (75 loc) · 3.13 KB

Bridesmaidal

A wedding planning application created using the MEAN stack

Alt text

This is my personal portfolio created to showcase my projects, share my contact information and give each visitor insight into who I am and what I do.

Visit here: Bridesmaidal

Demo Video: Project Video

Built with:

- Html
- CSS
- AngularJS
- ExpressJS
- MongoDB
- NodeJS
- Google Calendar API
- Sketch
- Bootstrap
- SASS

Sample Code

The following code uses the Google Calendar API and creates a method that allows the user to authorize access to their Google calendar as well as create a new calendar inside the application specific to their wedding planning needs.

function calendar() {
  var request = gapi.client.calendar.calendars.insert({
      "resource": {
          "summary": "My Wedding", //fix this so that it can be entered from user
          "description": "test",
          "timezone": "xxxx"
      }
  });
  request.execute(function(resp) {
      var events = resp.items;
      console.log(resp.id);
      $http.post(apiPath + '/createCalendar', {
              username: $scope.username,
              calendarID: resp.id,
              token: $cookies.get('token')
          }).then(function successCallback(response) {
              console.log(response);
              if (response.data.message == 'added') {
                  $location.path('/portal');
                  $cookies.put('username', $scope.username);
              }
          }),
          function errorCallback(response) {
              console.log(response);
          }
  });
  return resp.id;
}

Alt text

The following allows access to the id of the newly created calendar and inserts it into the html that creats the iframe of the new calendar. If the user token is matched in the database, then the id will be inserted successfully.

$http.get(apiPath + '/getCalendarID?token' + $cookies.get('token'))
	.then(function successCallback(response) {
	    console.log(response);
	    $scope.calendarID = $sce.trustAsResourceUrl('https://calendar.google.com/calendar/embed?height=600&wkst=1&bgcolor=%23ffccff&' + response.data.calendarID + '&color=%23691426&ctz=America%2FNew_York');

	    if (response.data.message == 'added') {
	        $location.path('/portal');
	        $cookies.put('username', $scope.username);
	    }
	}),
	function errorCallback(response) {
	    console.log(response);
	}

Early stages of site

Alt text

Alt text

Future Add-ons

  • Add a feature to create a list of vendors with their contact information
  • Ability to calculate cost and compare it with the budget.
  • Chat capabilities inside the application for the bridal party to stay in touch in one central location.

Please visit my personal profile to see more current projects.