Skip to content

MicaelaDJ/EventPlanner.Solution

Repository files navigation

GitHub avatar for author claramunro GitHub avatar for author LondresRi GitHub avatar for author MarkStrickland562 GitHub avatar for author MicaelaDJ
claramunro LondresRi MarkStrickland562 MicaelaDJ
Clara Munro Shawn Lunsford Mark Strickland Micaela Jawor

| eHappenings Project |

Initiated March 5th, 2019. Updated March 14th, 2019.

Description

An event planning web application to assist in organizing venues, menus, food, and mood to maximize event success. The applications manages databases take into account menu ingredients and preparation, else catering options, venue details, invitees and their responses or requirements, tasks prioritizing and distributing among event managers, etc.

Known Bugs

  • No known bugs.

User Stories and Specifications

Click Here for User Stories and Specifications
Scenario 01
Behavior As an event planner, I need to be able to see a list of events
Input Click on view events
Output Return list of all events
Notes Events should display some details about them
Completion True
Scenario 02
Behavior As an event planner, I need to be able to add an event
Input Click on add/new events, submit form
Output Return new event form, creates new instance on submit
Notes Will create one event at a time
Completion True
Scenario 03
Behavior As an event planner, I need to be able to set the menu for an event
Input On new event form, set event menu
Output Return new event list, with menu set to that event
Notes One menu for an event
Completion True
Scenario 04
Behavior As an event planner, I need to be able to delete a single event
Input Click on delete/remove event
Output Delete selected event, return to event list
Notes Will delete one event at a time
Completion True
Scenario 05
Behavior As an event planner, I need to be able to delete all events
Input Click on delete/remove events
Output Delete all events, return to event list
Notes Will delete all events at one time
Completion True
Scenario 06
Behavior As an event planner, I need to be able to add tasks to an event
Input Select task to add to an event
Output Add given task to event, return to event list
Notes Will add one task at a time
Completion True
Scenario 07
Behavior As an event planner, I need to be able to remove tasks from an event
Input Select task to remove from an event
Output Remove given task to event, return to event list
Notes Will remove one task at a time
Completion True
Scenario 08
Behavior As an event planner, I need to be able to add invitees to an event
Input Select invitee to add to an event
Output Add given invitee to event, return to event list
Notes Will add one invitee at a time
Completion True
Scenario 09
Behavior As an event planner, I need to be able to remove invitees from an event
Input Select invitee to remove from an event
Output Remove given invitee to event, return to event list
Notes Will remove one invitee at a time
Completion True
Scenario 10
Behavior As an event planner, I need to be able to edit a detail of an event
Input Select event, modify a single detail
Output Update event detail, local and in database
Notes Able to edit one details of a single event
Completion True
Scenario 11
Behavior As an event planner, I need to be able to edit all of an event's details
Input Select event, modify any of its details
Output Update event details, local and in database
Notes Able to edit one or multiple details of a single event
Completion True
Scenario 12
Behavior As an event planner, I need to be able to see a list of invitees
Input Click on view invitees
Output Return list of all invitees
Notes Invitees should display some details about them
Completion True
Scenario 13
Behavior As an event planner, I need to be able to add an invitee's details to the database
Input Click on add/new invitee, submit form
Output Return new invitee form, creates new instance on submit
Notes Will create one invitee at a time
Completion True
Scenario 14
Behavior As an event planner, I need to be able to delete one invitee
Input Click on delete/remove invitee
Output Delete selected invitee, return to invitee list
Notes Will delete one invitee at a time
Completion True
Scenario 15
Behavior As an event planner, I need to be able to delete all invitees
Input Click on delete/remove invitees
Output Delete all invitees, return to invitee list
Notes Will delete all invitees at one time
Completion True
Scenario 16
Behavior As an event planner, I need to be able to edit a detail of an invitee
Input Select invitee, modify a single detail
Output Update invitee detail, local and in database
Notes Able to edit one detail of a single invitee
Completion True
Scenario 17
Behavior As an event planner, I need to be able to edit all of an invitee's details
Input Select invitee, modify any of its details
Output Update invitee details, local and in database
Notes Able to edit one or multiple details of a single invitee
Completion True
Scenario 18
Behavior As an event planner, I need to be able to see a list of tasks
Input Click on view tasks
Output Return list of all tasks
Notes Tasks should display some details about them
Completion True
Scenario 19
Behavior As an event planner, I need to be able to add a task's details to the database
Input Click on add/new invitee, submit form
Output Return new invitee form, creates new instance on submit
Notes Will create one invitee at a time
Completion True
Scenario 20
Behavior As an event planner, I need to be able to delete one task
Input Click on delete/remove task
Output Delete selected task, return to task list
Notes Will delete one task at a time
Completion True
Scenario 21
Behavior As an event planner, I need to be able to delete all tasks
Input Click on delete/remove tasks
Output Delete all tasks, return to task list
Notes Will delete all tasks at one time
Completion True
Scenario 22
Behavior As an event planner, I need to be able to edit a detail of a task
Input Select task, modify a single detail
Output Update task detail, local and in database
Notes Able to edit one detail of a single task
Completion True
Scenario 23
Behavior As an event planner, I need to be able to edit all of a task's details
Input Select task, modify any of its details
Output Update task details, local and in database
Notes Able to edit one or multiple details of a single task
Completion True
Scenario 24
Behavior As an event planner, I need to be able to see a list of menus
Input Click on view menus
Output Return list of all menus
Notes Menus should display details about them
Completion True
Scenario 25
Behavior As an event planner, I need to be able to add a menu
Input Click on add/new menu, submit form
Output Return new menu form, creates new instance on submit
Notes Will create one menu at a time
Completion True
Scenario 26
Behavior As an event planner, I need to be able to set the food items for a menu
Input On new menu form, set menu food items
Output Return new menu list, with food items set to that menu
Notes One menu can have many food items
Completion True
Scenario 27
Behavior As an event planner, I need to be able to delete a single menu
Input Click on delete/remove menu
Output Delete selected menu, return to menu list
Notes Will delete one menu at a time
Completion True
Scenario 28
Behavior As an event planner, I need to be able to delete all menus
Input Click on delete/remove menus
Output Delete all menus, return to menu list
Notes Will delete all menus at one time
Completion True
Scenario 29
Behavior As an event planner, I need to be able to add food items to an menu
Input Select a food item to add to a menu
Output Add given food item to menu, return to menu list
Notes Will add one food item at a time
Completion True
Scenario 30
Behavior As an event planner, I need to be able to remove food items from an menu
Input Select food item to remove from a menu
Output Remove given food item to menu, return to menu list
Notes Will remove one food item at a time
Completion True
Scenario 31
Behavior As an event planner, I need to be able to see a list of food items
Input Click on view food items
Output Return list of all food items
Notes
Completion True
Scenario 32
Behavior As an event planner, I need to be able to add a food item
Input Click on add/new food item, submit form
Output Return new food item form, creates new instance on submit
Notes Will create one food item at a time
Completion True
Scenario 33
Behavior As an event planner, I need to be able to set the ingredients for a food item
Input On new food item form, set the ingredients
Output Return new food item list, with ingredients set to that food item
Notes One food item can have many ingredients
Completion True
Scenario 34
Behavior As an event planner, I need to be able to delete a single food item
Input Click on delete/remove food item
Output Delete selected food item, return to food item list
Notes Will delete one food item at a time
Completion True
Scenario 35
Behavior As an event planner, I need to be able to delete all food items
Input Click on delete/remove food items
Output Delete all food items, return to food item list
Notes Will delete all food items at one time
Completion True
Scenario 36
Behavior As an event planner, I need to be able to add ingredients to a food item
Input Select an ingredient to add to a food item
Output Add given ingredient to food item, return to food item list
Notes Will add one ingredient at a time
Completion True
Scenario 37
Behavior As an event planner, I need to be able to remove ingredients from a food item
Input Select an ingredient to remove from a food item
Output Remove given ingredient from food item, return to food item list
Notes Will remove one ingredient at a time
Completion True
Scenario 38
Behavior As an event planner, I need to be able to see a list of ingredients
Input Click on view ingredients
Output Return list of all ingredients
Notes
Completion True
Scenario 39
Behavior As an event planner, I need to be able to add an ingredient
Input Click on add/new ingredient, submit form
Output Return new ingredient form, creates new instance on submit
Notes Will create one ingredient at a time
Completion True
Scenario 40
Behavior As an event planner, I need to be able to set the stores for an ingredient
Input On new ingredient form, set the stores
Output Return new ingredient list, with stores set to that ingredient
Notes One ingredient can have many stores
Completion True
Scenario 41
Behavior As an event planner, I need to be able to delete a single ingredient
Input Click on delete/remove ingredient
Output Delete selected ingredient, return to ingredient list
Notes Will delete one ingredient at a time
Completion True
Scenario 42
Behavior As an event planner, I need to be able to delete all ingredients
Input Click on delete/remove ingredients
Output Delete all ingredients, return to ingredient list
Notes Will delete all ingredients at one time
Completion True
Scenario 43
Behavior As an event planner, I need to be able to add stores to an ingredient
Input Select an store to add to an ingredient
Output Add given store to ingredient, return to ingredient list
Notes Will add one store at a time
Completion True
Scenario 44
Behavior As an event planner, I need to be able to remove stores from an ingredient
Input Select an store to remove from a ingredient
Output Remove given store from ingredient, return to ingredient list
Notes Will remove one store at a time
Completion True
Scenario 45
Behavior As an event planner, I need to be able to see a list of stores
Input Click on view stores
Output Return list of all stores
Notes Stores should display details about them
Completion True
Scenario 46
Behavior As an event planner, I need to be able to add a store
Input Click on add/new store, submit form
Output Return new store form, creates new instance on submit
Notes Will create one store at a time
Completion True
Scenario 47
Behavior As an event planner, I need to be able to delete a single store
Input Click on delete/remove store
Output Delete selected store, return to store list
Notes Will delete one store at a time
Completion True
Scenario 48
Behavior As an event planner, I need to be able to delete all stores
Input Click on delete/remove stores
Output Delete all stores, return to store list
Notes Will delete all stores at one time
Completion True

Setup and Use

Prerequisites

  • .NET Core 1.1 SDK or higher
  • .NET Core Runtime 1.1 or higher
  • Mono
  • MAMP

Download Repo

  1. Download required software: .NET Core SDK, .NET Core Runtime, Mono
  2. Clone this repository: $ git clone https://github.com/LondresRi/EventPlanner.Solution.git

Open Locally - Browser

  1. Navigate to the application directory: $ cd EventPlanner.Solution/EventPlanner
  2. Execute the commands $ dotnet restore, $ dotnet build, and then $ dotnet run
  3. Open the localhost link provided by the terminal in your preferred browser
D:\user\EventPlanner.Solution\EventPlanner>dotnet restore
D:\user\EventPlanner.Solution\EventPlanner>dotnet build
D:\user\EventPlanner.Solution\EventPlanner>dotnet run
Hosting environment: Production
Content root path: D:\user\EventPlanner.Solution\EventPlanner
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.

Open Locally - Mono

  1. Navigate to the working directory: $ cd EventPlanner.Solution
  2. Use your preferred IDE or editor to edit the project
  3. Open the Program.exe file or use $ mono Program.exe to run application

Compile Locally

  1. Navigate to the project directory: $ cd EventPlanner.Solution/EventPlanner
  2. Execute $ mcs Program.cs Models/Database.cs Models/Event.cs Models/Invitee.cs Models/Menu.cs Models/MenuItem.cs Models/MenuItemIngredient.cs Models/Store.cs Models/Task.cs to compile new Program.exe file

MySql Database Import

  1. Open your preferred database manager
  2. Import event_planner.sql
  3. Review database to ensure import was successful
  4. Import DemoData.sql to populate event_planner.sql
D:\user>mysql -u root -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is [Your connection id here]
Server version: [Your server version and system here]

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>USE event_planner;
Database changed

mysql>SHOW TABLES;
Query OK, 0 row affected (0.00 sec)

mysql>DESCRIBE [insert any table name, case sensitive];
Query OK, 0 row affected (0.00 sec)

mysql>DemoData.sql

phpMyAdmin Database Import

  1. Start MySql and Apache through MAMP
  2. Browse MAMP tools to phpMyAdmin
  3. Import event_planner.sql
  4. Review database to ensure import was successful
  5. Select event.planner.sql, import DemoData.sql

Edit

  1. Navigate to the working directory: $ cd EventPlanner.Solution
  2. Use your preferred IDE or editor to edit the project

Test

  1. Navigate to the working directory: $ cd EventPlanner.Solution/EventPlanner.Tests
  2. Execute $ dotnet tests to run application tests

Built With

  • Windows 10.1
  • iMac OS X El Capitan 10.11.6
  • Linux Ubuntu 18.04 bionic
  • Atom (IDE)
  • VisualStudio Code (IDE)
  • C#
  • JavaScript / jQuery 3.3.7
  • HTML-5 / CSS-3
  • Bootstrap 4.1.0
  • Microsoft SDK
  • Microsoft Web SDK
  • .NET Core 1.1 - 2.2
  • .ASPNetCore 1.1.2
  • MySql (MAMP / phpMyAdmin)

Contributors

Author GitHub Email
Clara Munro claramunro clarajmunro@gmail.com
Mark Strickland MarkStrickland562 markstrickland562@hotmail.com
Micaela Jawor MicaelaDJ micaelajawor@yahoo.com
Shawn Lunsford LondresRi lunsford.sk@gmail.com

Credits

Clara Munro Mark Strickland Micaela Jawor Shawn Lunsford
Design
Core Mechanics
Databases
User Interface
Programming
Back-End
Front-End
Integration
Refractoring
Visuals
Wire Frame
CSS Styling
Graphics Management
Quality Assurance
Documentation
Testing

Support and contact details

If you have any feedback or concerns, please contact any of the contributors (see above).

License

This project is licensed under the MIT License. Copyright (C) 2019 Clara Munro, Mark Strickland, Micaela Jawor, Shawn Lunsford. All Rights Reserved.

MIT License

Copyright (c) 2019 Clara Munro, Mark Strickland, Micaela Jawor, Shawn Lunsford

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Acknowledgments

"A school for tech careers... to help people learn the skills they need to get great jobs."

"...the first thing that humanity has built that humanity doesn't understand..."

  • Eric Schmidt, Google (Alphabet Inc.)