locked
ASP.NET MVC – Create an EventApplication RRS feed

  • Question

  • User-899675940 posted

    l am trying to create an event application but the instruction is not clear as below:

    EventApplication – The goal is to be able to
    a) create an event
    b) find an event based on location and/or event type
    c) register for an event
    d) create an order upon registering for an event
    e) show order history for a user
    f) provide ability to see last-minute deals
    g) login functionality for user to perform certain tasks

    Approach
    You will use all the concepts we have learnt so far – View, Model, Controller, Entity Framework, Data
    Annotation, Ajax, Authentication etc.
    o You need to create the seed method (similar to SampleData in MVCMusicStoreApplication) to
    populate your database. Your database needs to have an abundance of data.
    o 10 event types
    o 30 events of which 5 that are in the past
    o 5 last minute deals

    Design considerations
    You can refer to the Eventbrite website to get an understanding of the flow of the application. Your
    assignment is a much more simplified version of this application. So make sure to follow the
    requirements to understand what functionality should be there in your application.
    o All javascript changes must be made inside “/Scripts/App” folder in the app-specific javascript
    file. Any app-specific javascript has to be included inside the view or _layout.cshtml in order to
    work.
    o All css changes must be made in Site.css. No css in HTML please.
    o Make sure you include jquery validate and/or jquery unobstrusive as needed in your views.
    Make sure your jquery script is included before these 2 scripts.
    o All buttons should look like how they are on the EventBrite site (flat). If you pick a color for a
    control, use the same for that control. Keep the design consistent. Keep the colors to 2-3.
    Rainbow pages are very distracting
    o Avoid spelling mistakes in your website – in error messages, labels etc.
    o When you code an error message, please use full sentence messages that are informative to the
    user.

    1. Title/Logo of the website 2. Footer stating copyright and year 3. Make the following navigation links on the top right corner of the website and place them next to each other Find an event Organize an event Sign in Register (this will show when user has not logged in) Tickets Ordered (this will only show when the user has logged in) (Hint: To make the navigation menu change based on if user has logged in or not, go to _Layout.cshtml and use Authentication check to decide what menu will show:

        @if (@User.Identity.IsAuthenticated)// { //Navigation links after user logs in
      • nav 1
      • nav 2
      • nav 3 } else { //Navigation links before user logs in
      • nav 1
      • nav 2
      • nav 4
      • } 3 @Html.Partial("_LoginPartial") ) 4. Main page also displays “Find an event” textboxes/buttons. See details under Search for more details on the design.
      • 5. Main page also displays “Last minute deals” on the right side of the page (this is not there in www.Eventbrite.com). See “Last minute deals” section below for more info
      • .Requirement 2: Organize an event
        In order to organize an event, the user must sign in.
      •  Once the user registers/logs in, you will need to capture the following information and save to the
        database
        o Event Title (required field)
        o Event Description
        o Event Start Date (required field)
        o Event Start Time (required field)
        o Event End Date (required field)
        o Event End Time (required field)
        o Event Location (required field)
        o Event Type
        o Organizer Name (required field)
        o Organizer Contact Info
        o Max Tickets (required field)
        o Available Tickets (required field)
      • Event Type will be a dropdown list. Provide a button for creating a new Event Type (This is similar to
        how we had Genre and Artist in MVC Music Store)
        For all input fields, provide appropriate validation
        • Title should not exceed 50 characters
        • Description should not exceed 150 characters
        • Event End Date cannot be less than Event Start Date
        • Event Start Date cannot be in the past
      • • Event End Date cannot be in the past
        • Max Tickets cannot be 0
        • Available Tickets cannot be 0
        Also add functionality to edit, delete events
      • Requirement 3: Create Event Type
        When you click on “Create new Event Type”, the following should appear and the event type should get
        registered in the database for future use.
        • Type should not exceed 50 characters
        Also add functionality to Edit, Delete Event Type
        Requirement 4: Last minute deals
        Last minute deals button will display on the main page as a small section. When the button is clicked,
        o All events that are in the next 2 days will display in this section
        o The following will be displayed
        o Event Title, Event Start Date, Event Start Time, Event Location
        o Event Title will be a link and will take the user to the Event Details, where the user can register
        for the event.
      • Requirement 5: Find an event
        o On clicking on “Find an event” link, the following appears
         First box – user can input event title or type
         Second box – user can input city/state
         Search button should display next to the text boxes
        6. The Search will return the appropriate events that match the search criteria.
        o Each entry will show Event Title, Event Start Date, Location
      • 6. The Search will return the appropriate events that match the search criteria.
        o Each entry will show Event Title, Event Start Date, Location
        o Event Title will be a link. Upon clicking it,
         the user will see further details about the event like Description, Organizer Name,
        Organizer Contact Info, tickets available etc.
        o The user can register for the event by clicking on the “Register” button
    •         To keep it simple, we will make all events free so there is no money hookup here

                     If no events can be found upon Search, then return a message “No events found”.
                    Requirement 6: Register for an event
                 o When the user clicks on the Register button, he sees Event title, # of tickets (1-10) and a
                  “CHECKOUT” button. User will also see “Sale ends on “mm/dd/yyyy” where “mm/dd/yy”
                   denotes the Start Date of the event

                    Checkout is only available to Registered users. When the user clicks on “checkout”, they
                    should be prompted to sign in/sign up (if they have not already signed in)

                         Requirement 7: Order Summary
                         The user will see Order Summary after they complete checkout
                          Show the following in Order Summary
                         • Order # (generate a random number)
                        • Event title
                        • # of tickets ordered
                            User will also see “Go to my tickets” Button at the bottom of the Order
                          Summary
                         (Hint: Remember that if you ordered x tickets, the Available Tickets for that
                           Event has to decrease by x. Make sure you test it)

                       Requirement 8: Tickets Ordered
                       When the user clicks on “Go to my tickets” from Order Summary or “Tickets Ordered” from the
                      navigation
                      o Show all the tickets ordered by the user
                      o Each ticket info will show Event title, date ordered and number of tickets
                     o Event title will be a link and show you ticket details.
                       Order #, # of tickets, date ordered, Event title, Event Description, Event State Date,
                     Event Start Time, Event End Date, Event End Time
                       User can click on “Back to Browse” link to go back to the home screen.

                          Requirement 9: Cancel Order
                         o “Cancel order” option will be available as a button in the Tickets Ordered view.
                         o The button should only display if order status is Not cancelled.
                         o If the user clicks on this option, the order will be cancelled (Hint: Similar to “Remove” in
                         MVCMusicStore ShoppingCart)
                           Show confirmation message “Your order has been cancelled”.
                          Order status for a cancelled order should show as “Cancelled”
                         (Hint: Remember that if you cancelled x tickets, the Available Tickets for that Event
                       has to increase by x. Make sure you test it)
                          If the user had logged in, the user will see a button called “Tickets ordered” as part of the navigation
                         menu. This should take you to the same screen as the “Go to my tickets” button on the Order Summary
                           screen

    Monday, November 12, 2018 11:40 PM

All replies

  • User409696431 posted

    You will need to explain what it is that you don't understand in the instructions.

    Monday, November 12, 2018 11:44 PM
  • User-899675940 posted

    l am not able understand how create the event application. another word how to build the application  as above do we use empty controller  the question is not so clear how how to build an application in MVC AND l never done that before

    Tuesday, November 13, 2018 12:23 AM
  • User1120430333 posted

    l am not able understand how create the event application. another word how to build the application  as above do we use empty controller  the question is not so clear how how to build an application in MVC AND l never done that before

    https://www.codeproject.com/Tips/769084/Observer-Pattern-Csharp

    https://www.infoworld.com/article/3162717/application-development/implementing-the-observer-design-pattern-in-c.html

    https://medium.com/@tkssharma/build-simple-shopping-cart-with-angular-4-observables-subject-subscription-part-1-78b5a6d28ad5

    Behavioral Pattern Observer

    https://www.dofactory.com/net/design-patterns

    Tuesday, November 13, 2018 1:13 AM
  • User-899675940 posted

    all the information is unrelated the question has uncleared answer   

    Tuesday, November 13, 2018 1:21 AM
  • User1520731567 posted

    Hi AliAlrahem,

    another word how to build the application  as above do we use empty controller  the question is not so clear how how to build an application in MVC AND l never done that before

    In Solution Explorer, right-click the Controllers folder and then click Add, then Controller.

    Creating an empty application need to start with an empty controller.

    MVC stands for model-view-controller. MVC is a pattern for developing applications that are well architected, testable and easy to maintain. MVC-based applications contain:

    M odels: Classes that represent the data of the application and that use validation logic to enforce business rules for that data.
    V iews: Template files that your application uses to dynamically generate HTML responses.
    C ontrollers: Classes that handle incoming browser requests, retrieve model data, and then specify view templates that return a response to the browser.

    I suggest that you understand the MVC introductory tutorial firstly, follow the tutorial step by step.

    Here is the tutorial that teaches you how to add a controller,and follow the steps to learn how to create an entire application.

    https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/adding-a-controller

    l am trying to create an event application but the instruction is not clear as below:

    Actually,the requirements above are already very clear.

    If you would like to create a completed application, you need to confirm the requirements,the design architecture, the database design ... in the early stage.

    This is a fairly complex task and beyond the scope of a support forum.

    But if you encounter problems during compilation, you can refine your problem, post relevant code, and explain the problem.

    Otherwise, there is not much we can do to assist.

    Best Regards.

    Yuki Tao

    Wednesday, November 14, 2018 2:52 AM