aboutsummaryrefslogtreecommitdiff

arfnet2-cstims

ARFNET2 Client, Service, Ticket and Invoice Management System

Depends on PHPMailer and TCPDF

User types:
    Admin:      user, service and ticket management
    Helpdesk:   read, answer and close tickets
    Accountant: view invoices and change status
    Client:     order services and open tickets
Service types:
    premium, standard, free

Report problems with CST or such as password changes to admin@arf20.com

FILES:
    index.html
        landing page, branding?

    register.php -> login.php
        registers client to db
        send email with verification link
    login.php -> { client.php, helpdesk.php, admin.php }
        checks creds against db and starts session
        checks user type for location
    logout.php -> login.php
        stops session

    verify.php -> login.php
        from a link, has the base64 code generated at registration sent to email for verification

    client.php -> { order.php, openticket.php }
        shows ordered services and opened tickets
    helpdesk.php
        view, self-assign and close tickets
    accountant.php
        view invoices and change status
    admin.php -> { manageusers.php, manageservices.php, managetickets.php }
        shows users, services, tickets and invoices

    Client:
        order.php
            add service to account, sends mail to admin@arf20.com to deploy manually
            billing is automated
        openticket.php
            open ticket linked to account and service, sends mail to helpdesk@arf20.com list
            then helpdesk answers email and stuff

    Admin:
        manageusers.php
            form to add, edit and delete user entries
        manageservices.php
            form to add, edit and delete service entries
        manageorders.php
            form to add, edit and delete order entries
        managetickets.php
            form to add, edit and delete ticket entries (assign, too, sends email to specific helpdesk person)
        manageinvoices.php
            form to add, edit and delete invoice entries

    Everyday crontab:
        makeinvoices.php
            when billing for a service is due, generates invoice and sends to client and accounting@arf20.com list


SQL:
Tables:
    users       User logins
        id autoincrement, username, password (hash), email, email verification code, status { verified, unverified }, type { client, helpdesk, accountant, admin }, register date
    services    Available services
        id autoincrement, name, type, billing, description
    orders      List of user orders and management notes etc
        id autoincrement, service id, instance name, client id, order date, specific billing, comments
    tickets     List of tickets
        id autoincrement, order id, subject, body, status { open, closed, nofix }, asignee
    invoices    List of invoices
        id autoincrement, order id, description, date, pdf, status { paid, unpaid }