Giter Site home page Giter Site logo

agile-software-a2's Introduction

Assignment 2 - Automated development process.

Name: Christopher John O'Sullivan

Student No.: 20058550

Overview.

Shyft is an application that facilitates on the way delivery for road users targeted at the second hand market. In this iteration of Shyft I have built a MEAN Stack CRUD Application and tested it using testing frameworks such as Mocha, Chai and Selenium Web Driver.

Environment.

To use this application some tools will need to be installed these tools are listed below:

MongoDB - Firstly run mongod in one terminal window and secondly mongo in another.
NPM Install - You must run npm install after downloaing this project to install all node modules. 
Node - Version than 4.0

Adittonaly I have shown sample documents from the database in the extras section below.

Build automation.

The terminal commands need to build, test and run this application locally are:

npm run back-test
npm run start 
npm run front-test
npm run build
npm start 

Alternately after the testing phase you could also run the production build commands which are:

npm run build-prod
npm run start-prod

Acceptance Testing.

At this current stage of development there are 35 acceptance tests on this application below I have shown screenshots of each page and the out put of each acceptance test. Finally at the end of this section I have shown the routes to theses tests.

Home Page Screenshot & Test Results

home home-test

Add Job Screenshot & Test Results

addjob addjobtest

View Jobs Screenshot & Test Results

viewjobspage searchdeliverytest

Update Job Screenshot & Test Results

updatejobs ujpt

Add User Screenshot & Test Results

adduser addusertest

View Users Screenshot & Test Results

viewusers vupt

Update User Screenshot & Test Results

updateuser update-user-test

List of Test File Routes

  • test/acceptance/addUserPage-Test.js
  • test/acceptance/homePage-Test.js
  • test/acceptance/searchDeliveryPage-Test.js
  • test/acceptance/sendItemPage-Test.js
  • test/acceptance/updateJobPage-Test.js
  • test/acceptance/updateUserPage-Test.js
  • test/acceptance/viewUserPage-Test.js

Continuous Integration.

The URL for this application on Travis is: https://travis-ci.org/EnjoiPandaCow/agile-software-a2

Automated Deployment.

No automated deployment at this time.

Extra features.

User Schema

fName: {
        type: String,
        required: true
    },
    lName: {
        type: String,
        required: true
    },
    email: {
        type: String,
        required: true
    },
    contactNo: {
        type: String,
        required: true
    },
    password: {
        type: String,
        required: true
    },
    street: {
        type: String,
        required: true
    },
    town: {
        type: String,
        required: true
    },
    county: {
        type: String,
        required: true
    }

Sample User Documen

    {
        "_id" : ObjectId("59f6f0b99bd9dc7f544d7dac"),
        "county" : "Kilkenny",
        "town" : "Mooncoin",
        "street" : "Polerone",
        "password" : "Password1",
        "contactNo" : "0831555552",
        "email" : "[email protected]",
        "lName" : "O'Sullivan",
        "fName" : "CJ",
        
    }

Job Schema

     title: {
            type: String,
            required: true
        },
        desc: {
            type: String,
            required: false
        },
        size: {
            type: String,
            required: true
        },
        cStreet: {
          type: String,
          required: true
        },
        cTown: {
            type: String,
            required: true
        },
        cCounty: {
            type: String,
            required: true
        },
        cCoordinates: {
            type: [Number],
            index: '2dsphere'
        },
        dStreet: {
            type: String,
            required: true
        },
        dTown: {
            type: String,
            required: true
        },
        dCounty: {
            type: String,
            required: true
        },
        dCoordinates: {
            type: [Number],
            index: '2dsphere'
        },
        dTime: {
            type: Date,
            required: true,
        },
        price: {
            type: Number,
            required: true
        },
        photos: {
            type: [String],
            required: false
        },
        userId: {
            type: String,
            required: true
        }

Sample Job Document

    {
        "_id" : ObjectId("59f1e69dd0ae514f10a24a82"),
        "userId" : "59f9fb109bd9dc7f544cadfa",
        "price" : 100.14,
        "dTime" : ISODate("2014-09-11T14:12:00.000Z"),
        "dCoordinates" : [ 
            53.023793, 
            -9.30881
        ],
        "dCounty" : "Clare",
        "dTown" : "Doolin",
        "dStreet" : "Roadford Doolin Clare",
        "cCoordinates" : [ 
            53.282694, 
            -6.211145
        ],
        "cCounty" : "Dublin",
        "cTown" : "Stillorgan",
        "cStreet" : "122 Stillorgan Wood",
        "size" : "Fits in a Van",
        "desc" : "Sold my couch online, no way to transport it",
        "title" : "Couch",
        "photos" : [ 
            "/photos/job/0002/4.jpg", 
            "/photos/job/0003/5.jpg", 
            "/photos/job/0004/6.jpg"
        ],
    }

agile-software-a2's People

Contributors

enjoipandacow avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.