Programming Project

Goal

Student creates their own object oriented MVC project from requirements to release.

It can be a component(Like the A4) or an application that solves a problem for someone.

Rules

All projects must fulfill the minimum requirements.

Grade is set by the examiner by judging:

  • Requirement fulfillment
  • Code quality
  • MVC implementation
  • Presentation, on GitHub and Oral presentation

The set of minimum requirements for approved is:

  • Solution has been submitted before the deadline
  • Code should be available on a public git repository.
  • The application must be deployed on a public web server, the server must be available to the examiner for the rest of the course.
  • The Assignment is done individually! You are not allowed to copy or take solutions from others.
  • No code is copied from others, student has worked alone
  • No external code except the code given in task, no libraries are used
  • No javascript is used
  • HTML follows web standards
  • Code has one single page (index.php)
  • Your solution will/may be shared with other students after the deadline.

Requirement fulfillment

  • Requirements are described in vision and Use-Cases
    • Bigger Project -> better grade
    • Complexity -> better grade
    • Solves Users Problem -> better grade
  • The project has tests and fulfills them
  • The application is well tested even outside of the explicit tests
  • Security is considered

Code Quality

  • Code MUST be object oriented.
  • Code looks good
  • Errors are handled well (assert and exceptions)
  • Code Repository is presented well on git (eg. README.md )
    • Dependencies and described
    • Installation instructions
  • Dependencies are explicit or encapsulated
    • No string dependencies, uses strategies to avoid them
  • Avoid complexity

MVC implementation

  • Code is separated into Model View Controller components
    • No dependencies from Model to Controller or View
    • No dependencies from View to Controller
    • Only use $_GET, $_POST, $_COOKIES etc in View-classes
    • No output generation in Model or Controller
    • No View responsibilities in Model or Controller
    • No Model responsibilities in View or Controller
    • No Controller responsibilities in View or Model

Presentation

  • An oral presentation has been done.

Assignment submission

Commit and push to GitHub
Upload latest version on public server
Fill in the submission form here: http://goo.gl/forms/pCInHNCx0R

Re-examination

The reexamination deadline will be Friday week 49. The project that are resubmitted should not only address issues mentioned in feedback but the full requirements of the project. I also want you to write a 5+ pages written story about how you fulfill projects requirement https://coursepress.lnu.se/kurs/webbutveckling-med-php/laborationsmiljo/projekt/. It should include information on how you have worked with use-cases, what kind of test-process you have used, how you have ensured that the code-quality of your work.
It should contain a discussion on the security of your project, threats and their mitigation strategy.
It should also contain a diagram of your code showing MVC components and their classes and the dependencies between them (including hidden dependencies).

The language should be Swedish or English and should be checked for writing and spelling errors.

Welcome to CoursePress

en utav Linnéuniversitets lärplattformar. Som inloggad student kan du kommunicera, hålla koll på dina kurser och mycket mer. Du som är gäst kan nå de flesta kurser och dess innehåll utan att logga in.

Läs mer lärplattformar vid Linnéuniversitetet

Student account

To log in you need a student account at Linnaeus University.

Read more about collecting your account

Log in LNU