Mini-Project Delivery, Evaluation and Professional PresentationIntroductionA web application is not complete when its pages render successfully. A professionally delivered mini-project must demonstrate that a real problem has been understood, requirements have been controlled, architecture is defensible, data is managed safely, code is tested, security risks are addressed, deployment is reproducible, and users can operate the system. Delivery therefore means converting a working prototype into an accountable minimum viable product (MVP). An MVP is the smallest complete product that delivers a meaningful outcome to a defined user group. “Smallest” does not mean careless or incomplete. It means that scope is deliberately limited while quality attributes—such as security, usability, reliability and maintainability—remain acceptable for the intended context. This chapter presents an end-to-end delivery framework for a diploma-level full-stack project. It treats the repository, application, evidence, documentation, demonstration and reflection as parts of one professional product. Learning objectivesBy the end of this chapter, a student should be able to: - Define and control the scope of an MVP using traceable requirements.
- Explain architectural and database decisions in relation to project needs.
- Organise a repository that supports collaboration, review and maintenance.
- Apply testing, security and deployment controls to a web application.
- Conduct a structured user evaluation and interpret its evidence.
- Prepare user documentation and a credible project report.
- Present outcomes professionally, acknowledge limitations and propose a realistic roadmap.
1. Delivery as an evidence-based processProject delivery has two dimensions. The first is the product, consisting of executable software and its supporting infrastructure. The second is the evidence, consisting of requirements, design records, test results, deployment information, evaluation findings and reflections. A feature that exists but cannot be explained, tested or reproduced is difficult to assess and difficult to maintain. A useful delivery chain is: problem → requirements → design → implementation → verification → deployment → evaluation → improvement Traceability links each stage. For example, requirement R-04 may lead to a user story, an acceptance criterion, a database entity, an API endpoint, a test case and a demonstration step. Traceability does not require excessive paperwork; a compact matrix is sufficient. | Requirement | Acceptance criterion | Implementation evidence | Test evidence | Status |
|---|
| User can create a task | Valid task appears in personal list | Form, route, database table | Integration test T-03 | Complete | | Unauthenticated user cannot view tasks | Request redirects or returns 401 | Authentication middleware | Security test T-08 | Complete | | User can filter tasks by status | Filter returns only selected status | Query and UI control | Functional test T-11 | Partial |
A requirement should be testable. “The system should be user-friendly” is too vague; “A first-time user can create a task in no more than five steps without assistance” is more evaluable, although it still requires an agreed definition of success. Scope and the MVP boundaryScope is controlled through prioritisation. A practical classification is: - Must have: necessary for the primary user outcome or safe operation.
- Should have: valuable but not essential to the first release.
- Could have: desirable enhancements if time permits.
- Won’t have now: explicitly deferred features.
The final category is important. Recording exclusions prevents uncontrolled expansion and gives the project a defensible boundary. An MVP for a clinic appointment system might include registration, appointment booking and cancellation, but defer payment, video consultation and automated reminders. A release decision should consider at least four questions: - Does the primary user journey work from beginning to end?
- Are serious security and data-integrity defects controlled?
- Can another person install or operate the system using the supplied documentation?
- Is there enough evidence to support claims about quality and usefulness?
2. The professional project repositoryThe repository is the project’s technical record. It should be understandable to a new developer who has not attended the project meetings. A suitable structure might be: project-root/
├── client/ # Front-end application
├── server/ # API and business logic
├── database/ # Migrations, seed data and schema notes
├── tests/ # Unit, integration and end-to-end tests
├── docs/ # Requirements, architecture and user guide
├── .env.example # Variable names, never real secrets
├── README.md
├── package.json
└── .gitignore The exact structure depends on the technology stack. The principles are more important than the folders: - Use meaningful commits that describe a coherent change.
- Keep generated files, secrets and local configuration out of version control.
- Record installation, configuration, testing and deployment commands.
- Use a consistent branching or pull-request strategy when working in a team.
- Tag or otherwise identify the submitted release.
- Keep dependencies current enough to receive security support.
The README should state the problem, core features, technology stack, prerequisites, setup commands, environment variables, test commands, deployment URL if applicable, known limitations and maintainer information. A system that requires undocumented manual intervention is not reproducible. Configuration and secretsEnvironment variables separate configuration from source code. The repository may contain a file such as .env.example: DATABASE_URL=
SESSION_SECRET=
MAIL_SERVER= It must not contain actual passwords, API keys, production tokens or private certificates. If a secret is accidentally committed, deleting the file in a later commit is insufficient: the secret must be revoked and replaced because repository history may retain it. 3. Architecture and database completionA diploma-level project should explain how major components collaborate. A common web architecture has: - Presentation layer: browser interface, forms, client-side state and accessibility behaviour.
- Application layer: routing, authentication, validation and business rules.
- Data layer: database access, transactions, migrations and persistence.
- External services: email, file storage, payment or identity providers, where required.
- Operational layer: hosting, logging, monitoring, backups and configuration.
The architecture should match the project rather than imitate an industrial system unnecessarily. A modular monolith is often an appropriate choice for a small MVP: it is simpler to deploy than distributed services while still separating responsibilities internally. A database design should identify entities, attributes, relationships, constraints and lifecycle events. For example, an order-management application might contain User, Product, Order and OrderItem. An order item records quantity and price at the time of purchase; it should not depend only on the product’s current price. Relational integrity is supported by primary keys, foreign keys, unique constraints, required fields and appropriate data types. Transactions should be used when several changes must succeed or fail together. For example, creating an order and reducing stock should not leave the system with an order but unchanged stock if the second operation fails. Database migrations are preferable to undocumented manual edits because they make schema changes repeatable. Seed data should be clearly identified as demonstration data and must not include real personal information. 4. Verification: testing beyond “it works”Testing provides evidence about behaviour; it does not prove that software has no defects. A balanced test strategy includes several levels. | Test level | Main question | Example |
|---|
| Unit | Does a small function behave correctly? | Validate password policy | | Integration | Do modules or services collaborate correctly? | API and database interaction | | End-to-end | Can a user complete a critical journey? | Register, log in and submit form | | Security | Are common misuse paths controlled? | Access another user’s record | | Usability | Can intended users understand and operate it? | Observe task completion | | Regression | Did a change break existing behaviour? | Re-run automated suite |
A test case should state preconditions, action, expected result and actual result. Boundary and negative cases are especially valuable: empty fields, invalid formats, duplicate records, expired sessions, missing permissions and network failure. A simple pass-rate measure can summarise a test run: Pass rate = (number of passed tests ÷ number of executed tests) × 100% This metric assumes that tests are sufficiently relevant and that “executed tests” excludes tests that were not run. It does not measure feature coverage or quality by itself. If 38 of 40 tests pass, the pass rate is 95%, but the two failures may involve a critical security control. Severity and risk must therefore be reported alongside counts. Test evidence should include the test date, software version, environment, test data, result and defect reference. Screenshots can support evidence, but automated logs and repeatable commands are stronger for technical verification. 5. Security controls for an MVPSecurity is a design responsibility, not a final presentation slide. The project should identify assets, threats, vulnerabilities, controls and residual risks. Important baseline controls include: - Hash passwords with a current, adaptive password-hashing algorithm; never store plaintext passwords.
- Enforce authentication before protected operations.
- Apply authorisation checks to every object access, not only to navigation links.
- Validate input on the server; client-side validation improves usability but is not a security boundary.
- Use parameterised queries or a trusted object-relational mapper to reduce injection risk.
- Escape or safely render untrusted output to reduce cross-site scripting risk.
- Protect state-changing requests against cross-site request forgery where cookie-based sessions are used.
- Use secure transport, secure cookies and appropriate session expiration in production.
- Limit upload type, size and storage location when files are accepted.
- Avoid exposing stack traces, tokens and personal data in responses or logs.
- Apply least privilege to database accounts and administrative functions.
- Maintain dependency and patch management.
A threat model can be lightweight. For each important feature, ask: what can go wrong, who could exploit it, what would be affected, and which control reduces the risk? The answer should be recorded in the report. Security controls can conflict with convenience. For example, verbose error messages help developers but can reveal implementation details to attackers. A professional solution uses detailed logs for authorised operators and safe, minimal messages for users. Privacy must also be considered. Collect only data necessary for the stated purpose, explain its use, restrict access, define retention, and remove or anonymise evaluation data where appropriate. Students should follow institutional policy and applicable data-protection law rather than treating a classroom project as exempt from ethical responsibilities. 6. Deployment and operational readinessDeployment is the transition from a development environment to a controlled running environment. A deployment checklist should include: - Build the application from a clean checkout.
- Configure environment-specific variables securely.
- Apply database migrations.
- Create an administrative account through a controlled process.
- Enable HTTPS and production-safe settings.
- Run smoke tests against the deployed system.
- Confirm logging, error handling and backup arrangements.
- Record the release identifier, date and rollback approach.
A smoke test checks that the deployed system is alive and that essential paths—such as loading the home page, signing in and creating a record—work. It is not a replacement for the full test suite. Deployment documentation should identify hosting, runtime version, database provider, build command, start command, migration process, environment variables and support contact. If the application is unavailable, the report should say so honestly and provide reproducible local instructions. Operational readiness includes observability. At minimum, record meaningful errors with timestamps and correlation information while avoiding passwords, tokens and unnecessary personal data. Backups are useful only if restoration has been considered and, where possible, tested. 7. User evaluation and interpretationDeveloper testing answers whether the system behaves according to its specification. User evaluation asks whether the system is understandable, useful and appropriate in practice. These are different forms of evidence. A small evaluation can use a representative task scenario, observation, a short interview and a questionnaire. Participants should receive an information statement, give informed consent, and be told that the software—not their ability—is being evaluated. Do not collect identifiable information unless necessary. A practical protocol is: - Define evaluation questions, such as “Can new users complete booking without assistance?”
- Recruit participants resembling the intended users.
- Give the same task instructions and starting conditions.
- Observe without unnecessarily guiding participants.
- Record completion, errors, assistance requests and comments.
- Ask brief post-task questions.
- Analyse patterns, not isolated anecdotes.
- Convert findings into prioritised changes.
For a task completion proportion: Completion rate = (successful task attempts ÷ total task attempts) × 100% If 7 of 8 participants complete a task, the observed completion rate is 87.5%. With a small convenience sample, this is a description of the evaluation group, not a claim about all users. It should not be presented as a statistically generalisable population estimate. Questionnaire scales should be labelled clearly and interpreted cautiously. A mean score can conceal disagreement; report the number of respondents and, where useful, the distribution or representative comments. Qualitative comments should be coded into themes such as navigation, terminology, speed or trust. Do not manufacture precision from a small sample. Illustrative case: Campus Equipment CheckoutThe following is a fictional case designed to demonstrate an end-to-end delivery decision. Background. A college department lends cameras, microphones and laptops to students. Staff currently use a spreadsheet and email, producing double bookings and weak records of returns. Problem. Students need to see availability and request equipment; staff need to approve requests, record returns and identify overdue items. The project has six weeks and one student developer. Analysis. Interviews identify two principal user roles: student and equipment officer. The primary journey is availability search → request → approval → checkout → return. Payment, barcode scanning and automated reminders are excluded from the MVP. Approach. The application uses a modular server, a relational database and a browser client. Entities include users, equipment, reservations and returns. Server-side authorisation ensures that students can view their own requests while officers can manage inventory. A transaction prevents overlapping approved reservations for the same item. Unit, integration and end-to-end tests cover the primary journey and unauthorised access. Evaluation. Six students and two officers perform scripted tasks. Five students complete a request without assistance; one misunderstands the term “availability window.” Both officers complete approval and return tasks but request a clearer overdue indicator. The observed student completion rate is 5 ÷ 6 × 100% = 83.3%. This result identifies usability work; it does not establish universal effectiveness. Outcome. The MVP is deployed for controlled departmental use. The report records that barcode scanning and reminders remain outside scope, and that the small evaluation limits generalisation. Learning points. The strongest result is not the number of screens. It is the traceable relationship between a defined problem, a controlled workflow, security rules, evidence and a prioritised next release. 8. Documentation and the project reportDocumentation serves different audiences and should not be collapsed into one undifferentiated file. User documentation explains how to accomplish tasks. It should use plain language, screenshots where helpful, role-specific instructions, troubleshooting guidance and contact information. It should not expose internal implementation details. Technical documentation explains installation, architecture, schema, API conventions, configuration, testing and deployment. It should allow a competent developer to maintain the system. The project report explains decisions and evidence. A suitable structure is: - Executive summary and problem context.
- Aim, objectives and stakeholders.
- Requirements and scope decisions.
- Architecture, data design and technology rationale.
- Implementation highlights.
- Testing and security evidence.
- Deployment and operational considerations.
- User evaluation method and findings.
- Limitations, ethical issues and risks.
- Conclusion and future roadmap.
- References and appendices.
A report should distinguish fact, interpretation and proposal. For example, “Five of six participants completed the task” is a finding; “the terminology may confuse new users” is an interpretation; “replace the label in the next release” is a proposal. This distinction improves academic credibility. 9. Professional presentation and demonstrationA demonstration is a guided argument, not a tour of every feature. It should establish the problem, show the main user journey, provide evidence of quality and explain what remains unresolved. A compact sequence is: - State the problem and intended users.
- Define the MVP boundary.
- Demonstrate one complete success path.
- Demonstrate an important validation, permission or error path.
- Show architecture and data decisions briefly.
- Present test and user-evaluation evidence.
- Explain limitations and the roadmap.
- Close with the outcome and repository access.
Use prepared demonstration data and a backup recording or screenshots. Do not rely on unstable internet connectivity or live manual data entry. Never display real personal data, credentials or secret keys. If a defect occurs, explain it calmly, identify its impact and show the documented fallback; professional honesty is stronger than pretending that software is flawless. Presentation quality includes accessibility: readable contrast, meaningful headings, captions or transcripts for recorded material, understandable terminology and an alternative to colour-only distinctions. Team members should understand the whole system sufficiently to answer questions, even if responsibilities were divided. 10. Reflection, limitations and the future roadmapReflection is not a confession of failure. It is a reasoned evaluation of decisions against evidence. A useful reflection asks: - Which assumption proved inaccurate?
- Which requirement changed, and why?
- Which technical decision reduced or increased risk?
- What evidence supports the claim that the MVP is useful?
- Which quality attribute remains weakest?
- What would be redesigned with more time?
Limitations may involve sample size, short evaluation duration, incomplete automation, untested accessibility conditions, limited device coverage, dependence on a third-party service or lack of production-scale performance testing. Limitations should state their effect on conclusions rather than merely listing weaknesses. A roadmap should be prioritised by user value, risk, effort and dependency. A useful format is: | Horizon | Proposed work | Reason | Evidence or dependency |
|---|
| Next release | Improve availability terminology | Evaluation finding | User comments | | Later | Automated reminders | Reduces overdue equipment | Email service and consent | | Strategic | Barcode integration | Faster checkout | Hardware and workflow study |
Artificial intelligence may assist with code explanation, test ideas, accessibility review or documentation drafting, but generated output requires human verification. Do not submit unverified code, expose confidential data to an external model, or represent generated material as independent research. Record significant AI assistance where institutional policy requires it. Best-practice delivery checklistBefore submission, confirm that: - the repository builds from a clean checkout;
- requirements map to implemented and tested behaviour;
- migrations and setup instructions are reproducible;
- secrets and personal data are excluded;
- authentication, authorisation and input validation are tested;
- critical user journeys pass in the deployed environment;
- the user guide is understandable to a non-developer;
- evaluation consent, evidence and limitations are documented;
- the report distinguishes findings from claims and proposals;
- the presentation demonstrates outcomes rather than merely describing features;
- the release and future roadmap are clearly identified.
Chapter SummaryProfessional mini-project delivery is an evidence-based process that connects problem definition, requirements, architecture, implementation, testing, security, deployment and evaluation. An MVP is deliberately limited but must still be coherent, safe and useful. A repository should be reproducible and free of secrets; a database should protect integrity through constraints and transactions; testing should include positive, negative, integration and end-to-end cases; and security should address authentication, authorisation, validation, injection, sessions, privacy and dependency risk. User evaluation complements developer testing by examining usefulness and usability. Its findings must be interpreted within methodological limits, especially when samples are small. User and technical documentation serve different audiences, while a project report explains decisions and evidence. A professional presentation demonstrates a complete outcome, acknowledges defects and limitations, and proposes a prioritised roadmap. The quality of delivery is therefore measured not only by whether the application runs, but by whether its claims are supported, its risks are controlled and its future can be maintained. Key TermsAcceptance criterion: A condition that must be satisfied for a requirement to be accepted. Authorisation: Determining what an authenticated user is permitted to do. Continuous traceability: Linking requirements to design, implementation, tests and evidence. Deployment: Releasing software into a target operating environment. End-to-end test: A test of a complete user workflow across the major system components. MVP (minimum viable product): The smallest release that delivers a meaningful user outcome with acceptable quality. Migration: A controlled, repeatable change to a database schema. Observability: The ability to understand system behaviour through logs, metrics and traces. Regression test: A test repeated to detect unintended effects of a change. Repository: A managed record of source code, configuration, history and project documentation. Requirement: A needed capability, constraint or quality condition of a system. Residual risk: Risk remaining after controls have been applied. Smoke test: A brief check that a deployed system and essential functions operate. Threat model: A structured analysis of assets, threats, vulnerabilities and controls. Traceability matrix: A table connecting requirements with implementation and verification evidence. Unit test: A test of a small, isolated software component. Usability evaluation: Assessment of how effectively and understandably intended users operate a system. Validation: Checking whether the product meets user needs and intended purposes. Verification: Checking whether the product conforms to specified requirements. Versioned release: A clearly identified state of software delivered for use or assessment. Review QuestionsShort Answer Questions- What distinguishes an MVP from an unfinished prototype?
- Why should secrets be excluded from a source-code repository?
- State two differences between verification and validation.
- What is the purpose of a database migration?
- Why must user-evaluation findings be interpreted in relation to sample size and recruitment?
Long Answer Questions- Explain how requirements traceability improves the credibility and maintainability of a mini-project.
- Describe a suitable testing strategy for a full-stack application, including the role and limitations of each test level.
- Discuss the principal security controls that should be present in a small web application.
- Design a structure for a project report and explain what evidence belongs in each major section.
- Explain how a professional demonstration can communicate both achievement and limitation without misleading its audience.
Analytical / Application Questions- A project has 24 automated tests, of which 22 pass. One failure concerns an unauthorised user viewing another user’s record; the other concerns a spelling error. Should the release be accepted? Justify your decision using risk, not only pass rate.
- Six of eight evaluation participants complete a booking task, but four report that the confirmation message is unclear. Analyse what can and cannot be concluded, and propose the next release action.
- Your team proposes adding payment, chat and analytics two days before submission. Use MVP scope principles to decide what should be included, deferred or rejected, and explain the evidence needed for your decision.
Multiple Choice Questions with AnswersQuestion 1Which statement best describes a minimum viable product? A. A product containing every feature proposed by stakeholders B. The smallest coherent release that delivers a meaningful user outcome C. A visual prototype with no working data layer D. A product released without security or testing Correct Answer: B. The smallest coherent release that delivers a meaningful user outcome Question 2What is the primary purpose of a traceability matrix? A. To measure internet bandwidth B. To list only unresolved programming errors C. To connect requirements with implementation and verification evidence D. To replace all project documentation Correct Answer: C. To connect requirements with implementation and verification evidence Question 3Which practice is appropriate for storing passwords? A. Saving plaintext passwords in a database B. Including passwords in the README file C. Encrypting passwords with one shared reversible key D. Using a current adaptive password-hashing algorithm Correct Answer: D. Using a current adaptive password-hashing algorithm Question 4What does a smoke test primarily verify after deployment? A. That every possible user behaviour is correct B. That the deployed system and essential paths operate C. That the database contains no historical records D. That all future features have been implemented Correct Answer: B. That the deployed system and essential paths operate Question 5A test run has 38 passed tests and 2 failed tests, with all 40 executed. What is the pass rate? A. 90% B. 92.5% C. 95% D. 98% Correct Answer: C. 95% Question 6Which statement about client-side validation is correct? A. It removes the need for server-side validation B. It improves usability but is not a security boundary C. It guarantees protection against injection D. It replaces authorisation checks Correct Answer: B. It improves usability but is not a security boundary Question 7If 5 of 6 participants complete a task, what is the observed completion rate? A. 逵83.3% B. 80% C. 85% D. 90% Correct Answer: A. 逵83.3% Question 8Which item should normally be excluded from a public repository? A. A README containing setup commands B. A database migration C. An environment-variable template with blank values D. A production API key Correct Answer: D. A production API key Question 9What is the main difference between a user guide and technical documentation? A. A user guide explains user tasks, while technical documentation explains operation and maintenance B. A user guide contains source code, while technical documentation contains only screenshots C. A user guide is always longer than a project report D. There is no meaningful difference Correct Answer: A. A user guide explains user tasks, while technical documentation explains operation and maintenance Question 10Which is the strongest interpretation of a small user-evaluation sample? A. It proves the product works for the entire population B. It provides evidence about the observed participants and identified patterns C. It is invalid because only large samples are useful D. It replaces security and automated testing Correct Answer: B. It provides evidence about the observed participants and identified patterns
|