Skip to content
Diogo Pacheco edited this page Jul 14, 2020 · 11 revisions

Welcome to the corlief wiki!

corlief

Objective

Create an application that allows companies to book stands on SINFO's venue, as well as send all the information required.

Use case

  1. SINFO's member contacts the company
  2. Company agrees to participate on SINFO, with package X, giving them 2 days of stand, 1 presentation and 1 workshop
  3. Member fills a contract page from this app, indicating the company, package and all the info that is required from the company (for example, logo, presentation's and workshop's info, and finally tax info)
  4. A unique and distintive link is created for this company, which is sent to them
  5. The company can now, using this link, make reservations for the stands and fill the information required by SINFO

Structure

The application will be divided in 2 parts: an administration page (accessible by any SINFO's member), and a company page (unique to each company).

Database

links

{
    companyId: String,
    edition: String,
    created: Date,
    token: String,
    participationDays: Number,
    activities: [{
        kind: String,
        date: Date
    }],
    advertisementKind: String,
    workshop: Boolean,
    presentation: Boolean
}

venues

{
    edition: String,
    image: String,
    stands: [{
        id: Number,
        topLeft: {
            x: Number,
            y: Number
        },
        bottomRight: {
            x: Number,
            y: Number
        }
    }],
    workshops: [{
        id: Number,
        day: Number,
        start: Date,
        end: Date
    }],
    presentations: [{
        id: Number,
        day: Number,
        start: Date,
        end: Date
    }]
}

reservations

{
    id: String, // "${companyId}_${number}" auto incremented
    companyId: String,
    edition: String,
    issued: Date,
    stands: [{
        day: Number,
        standId: Number
    }],
    workshop: Number,
    presentation: Number
    feedback: {
        status: String, // ("confirmed", "refused")
        member: String
    }    
}

data

{
    companyId: String
    edition: String,
    logo: String,
    activities: [{
        kind: String,
        date: {
            opt1: Date,
            opt2: Date
        },
        title: String,
        description: String,
        speakers: [{
            name: String,
            position: String
        }]
    }],
    invoice: {
        name: String,
        address: String,
        taxId: String,
        price: Number,
        notes: String,
        invoiceId: String,
        emissionDate: Date,
        file: String
    }
}
Clone this wiki locally