Starting from:

$30

Assignment 04 - Requirements  -  (i) Back End  Development  

CS230    -    Web    Informa2on    Processing    
Assignment    4
This    Assignment    is    worth    15%    of    the    Web    Informa7on    Processing    CA    Component.        
This    is    an    open-book,    graded    assignment.    You    may    use    online    resources    for    reference    purposes    only    
to    help    with    the    assignment.    Please    cite    all    references    as    comments    in    your    submissions.        You    cannot    
directly    reuse    HTML/CSS/JS    solu2on    code     from    online    sources.    You    must    not    engage    with    another    
student,    in     person     or     electronically     (phone,     social    media,     etc.)     to     secure    assistance    with     this    assignment.    If    you    do    so    you    will    receive    an    automa2c    fail    (0%).    We    will    perform    similarity    checks    on    
submiGed     assignments     to     check     for     collaboraHve    efforts.     A     reasonable     aGempt     at     this     assignment    
will    gain    you    15%    of    your    conHnual    assignment    marks.    It    is    possible    to    gain    extra    credit    (up    to    a    maximum    of    5%)    for    this    assignment.    
Assignment    04    -    Working    with    CRUD    and    Online    Databases    
You    are    required    to    develop    two    applicaHons    for    maintaining    a    database    of    personal    details    for    users    
of     a     hypotheHcal     online     store.     The     database,     which     should     be     called     USERS     (note     capitalisaHon),    
should     contain     tables     that     record     user     personal     informaHon     [Title,     First    Name(s)*,     Surname*,    Mobile*,     Email     Address*],     and     both     home     and     shipping     addresses     [Address     Line     1*,     Address     Line     2,    
Town*,    County/City*,    Eircode].    The    fields    marked    *    are    required    fields,    i.e.,    they    must    contain    values.    
Your    soluHons    should    provide    CRUD    funcHonality    for    CreaHng,    Searching    (Retrieving),    UpdaHng,    and    
DeleHng     user    informaHon     stored    in    a     relaHonal     database     (MySQL     or    MariaDB     database)     (i)     using    a    
“back    end”    applicaHon    (worth    10%)    and    (ii)    using    a    modified    “back    end”    together    with    an    AJAX-driven    “front    end”    applicaHon    (worth    5%)    demonstraHng    a    full-stack    soluHon.        
The    following    secHon    details    specific    interacHon    requirements    for    both    parts    of    this    assignment.    
Assignment    04    -    Requirements    -    (i)    Back    End    Development    (10%)    
For     this     part     of     the     assignment     you     first     need     to     develop     an     applicaHon     that     demonstrates     “back    
end”     funcHonality,     i.e.     implement     the     CRUD     acHvity     described     below     using     randomly     created,     or    
hard-craded,    data.         These    data    need     to    be    ingested    into    your    soluHon    database    and    should    be    accessed    using    your    back    end    applicaHon,    which    may    be    either    a    PHP    or    NodeJS    applicaHon.    Typically,    
Assignment    Release    Date: 15-03-2021
Submission    Due    Date: 02-04-2021
Feedback    Due    Date    (esHmated): 16-04-2021    (for    assignments    that    make    Due    Date)
Support    Laboratories Online    Labs    06-07    (Two    Weeks)
Total    Mark: 15%
will    need    to    self    install    PHP    or    NodeJS    and    database    sodware    in    order    to    complete    this    assignment.    
Note    that    PHP    applicaHons    may    be    executed        from    the    command    line    once        PHP    is    installed.        
You    should    clearly    indicate    the    secHons    of    your    (PHP    or    NodeJS)    program    that    implement    the    CRUD    
acHviHes    outlined    below:    
(i) For    the    C    (create)    acHvity    you    should    demonstrate    how    to    create    the    user    record    
(personal    and    address),    and    add    it    to    the    database.        
(ii) For     the     R     (retrieve/search)     acHvity,     you     should     randomly     select     and     return     all    
users    matching    a    supplied    name.        
(iii) For    the    U    (Update)    you    should    update    three    elements    of    a    specified    user    record    
(Phone,    Email,    Title)    and    all    or    any    of    their    Address    data.        
(iv) For    the    D    (delete    )    acHvity,    please    delete    all    records    for    a    user    matching    a    combinaHon    of    Email,    Phone    and    Name.    
Please    note:        
(i) For        this    assignment,    you    should    use    a    relaHonal    database    to    store    the    informaHon    for    the    user    informaHon    using    your    XAMPP    installaHon    (or    an    online    accessible    database).    Please    use    node.js    that    has    been    installed    locally    or    CLI    (Command    Line    Interface)    PHP    that    comes    with    the    XAMPP    installaHon.    If    you    do    not    
have     XAMPP/node.js     installed     please     do     so     for     this    assignment.    If     you     cannot    
install     these    as    you    do    not    have    a    computer     that     facilitates    installaHon    please    
contact     John    KeaHng     (john.keaHng@mu.ie).    A    video    will    be    posted     to    Moodle    
demonstraHng     how     to     use     online     resources     for     this     assignment     if     you     do     not    
have    installaHon    privileges.    
(ii) You     should    implement    best    pracHce    when    it    comes     to     relaHonal    database    design     for     this     assignment,     ie,     you     may     need     mulHple     tables.     You     may     need     to    
created    index    or    ID    fields    not    specified    in    the    brief    above.    Try    not    to    have    a    single    monolithic    table    that    contains    everything!    
(iii) You    may    write    funcHons    to    randomly    create    personal    and        address    data    and    you    
may     use     the     name     generator     funcHons     provide     for     the     Assignment     03     if     you    
wish.        
(iv) Titles    should    include    Mx,    Ms,    Mr,    Mrs,    Miss,    Dr    or    Other    (specify).    
(v) You    may    reuse    the    created    (or    auto-generated)    address    as    the    shipping    address    
or    add    a    different    address.        
(vi) For    this    assignment    you    only    need    to    validate    data    on    the    Title    field.        
Please    note    for    the    first    part    of    this    assignment    you    do    not    need    to    write    any    “front    end”    code.    All    of    
the    CRUD    acHviHes    can    be    implemented    within    the    soluHon    applicaHon.    
This    means    that    you    should    be    able    to    run    the    applicaHon    as    a    console    applicaHon;    this    applicaHon    
implements    the    CRUD    acHviHes    and    outputs    the    informaHon    to    the    console    display.    You    need    to    provide    a     data     dump     from     your    SQL    USERS     database     together    with     your     soluHon    applicaHon    in     order    
that    it    may    be    test4d    and    corrected.    Failure    to    supply    the    data    dump    will    mean    we    cannot    test    your    
soluHon,    and    we    will    automaHcally     deducted     half     of     the    marks    available     for     this     secHon     of     the    assignment.    
Assignment    04    -    Requirements    -    (ii)    Front    End    Development    (5%)    
For    this    part    of    the    assignment    you    will        need    to    (i)    update    your    exisHng    “back    end”    soluHon    so    that    it    
is    accessible    via    AJAX,    and    (ii)    develop    a    minimal    HTML/CSS/JS    ”front    end”    funcHonality    that    demonstrates    consuming    two    of    the    CRUD    acHvity    components    (Create    and    Retrieve)    using    AJAX.        
You    may    use    the    pure    JS    or    jQuery    AJAX    implementaHons    for    this    “front-end”    demonstraHon.    There    
are    no    requirements    to    develop    a    complete    set    of    HTML/CSS/JS    CRUD    “front-end”    forms    for    this    assignment.        
It    is    sufficient    to    use    hard-coded    data    to    send    to,    and    revive    data    from,    your    “back    end”    service.    ApplicaHon    output    demonstraHng    the    two    CRUD    acHviHes    should    be    output    to    an    in-page    page    console    
(as    I    have    done    in    some    demo    lessons    to    date),    and    not    to    the    Browser    JS    console.    
Assignment    04        -    Development    Notes    
Please    adhere    to    the    following    development    requirements:    
1. You    may     not     use    RESTful     frameworks     (for    example,    Express.js,    etc.)     for     this    assignment.    This    assignment    requires    you    to    use    core    fundamental    code    for    manipulaHng    databases.    You    may    refer    to    
online    resources    such    as    W3schools,    of    course.    You    may    use    any    of    the    code    provided    in    the    CS230    
Lessons    or    Lectures.    Please     refer     to     the    lessons    on    AJAX    and     the    demonstraHons    of    NodeJS    services    for    the    second    part    of    the    assignment.        
2. You    must    comment    your    code    (for    “front    end”    and    “back    end”),    clearly    indicaHng,    how    your    code    
implements     the    soluHon    described    above    in     the    “Assignment    04     -    Requirements     (i)    and     (ii)”    secHons.    
Please    note    that    there    are    many    sample    (JS/PHP)    soluHons    for    implemenHng    similar    soluHons    (database)    funcHonality    available    online.    While    it    is    fine    to    consult    these,    and    accompanying    arHcles,    for    
references,    you    may    not    re-use    code    from    these    projects.    Please    cite    your    reference    sources    in    your    
codebase.    We    will    search    and    idenHfy    online    coding    soluHons    to    similar    problems    for    the    purposes    of    
checking    against    submiGed    soluHons    in    instances    where    we    have    concerns    about    code    originality.    
Assignment    04        -    Extra    Credit    (5%)
For    an    extra    5%    credit    you    are    required    to    develop    a    fully    funcHonal    HTML/CSS/JS    User    Interface    (UI)    
that    supports    the     full    CRUD    acHvity.    You    may    use    any    JS     (or    other)     framework    to    implement    the    UI    
(Bootstrap,    jQuery,    jQuery    UI,    etc.).    
IMPORTANT    SUBMISSION    DETAILS        
Before     submiYng     your     assignment     students     should     check     that     their     solu2on     works     in     Chrome    
and/or     Firefox.     Please     indicate     the     Browser,          Opera2ng     System     (Linux/Windows/MacOS)     and    
Browser    version    used    for    tes2ng    (as    a    comment    in    your    submi[ed    code).    If    you    use    an    online    IDE    
please    clearly    specify    the    IDE    and    provide        a    link    where        possible.    
All    work    must    be    submiGed    via    Moodle    (see    "Assignments"    secHon    for    submission).    Work    submiGed    
via    other    means    will    not    be    accepted    unless    you    have    prior    arrangements    with    the    Head    Demonstrator     (Behnam    Faghih).    All    work    MUST    be    submiGed    by     the    due-date    deadline.    Late    submissions    will    
not    be    accepted.        
The    assignment    submission    is    a    zip    file    named    “assignment-04-xxxxxxxxx.zip”    (where    “xxxxxxxxx”    is    
your    student    id)    containing    solu7on    files,    e.g.    named    “assignment-04.js”,    “assignment-04.php”,    etc.    
together    with    any    other    resources    used    in    the    assignment    solu7on.    External    CSS    and    Javascript    files    
should     be     named     “assignment-04.css”     and     “assignment-04.js”,     respec7vely.     Please     ensure     that     all    
external    files    use    rela7ve    directory    referencing,    rather    than    hard-coding    the    files’    loca7on.

More products