Hide menu
This page was automatically translated from Swedish using Qwen3.5-27B-IQ4_XS. The Swedish version is considered authoritative.

TDDD83 Computer Engineering - Bachelor Project

Development Project

The development project constitutes a major part of the bachelor's thesis, which is an engineering science project carried out in groups of approximately eight students. As part of the bachelor's thesis, the group must write a bachelor's report. The bachelor's report will be based on the development project, the purpose of which is to enable the research question posed in the report to be answered. The theory presented in the bachelor's report is implemented in the development project and evaluated in order to answer the research question. This means that the theory must be translated into concrete and traceable system requirements for the development project. An evaluation must also be conducted to investigate the research question. Based on the results of the evaluation, conclusions must be drawn that answer the research question. As part of the bachelor's report, a marketing plan must be developed. The marketing plan involves investigating whether and how the system has economic potential; it should be used as a basis for directing the development project and influencing system requirements and priorities within the project. The figure below illustrates the connection between the bachelor's report and the development project.

The development project will provide practical experience of software development projects and an opportunity to use the tools and techniques provided by the course. Note also that the development project must be a bachelor's thesis, i.e., it should apply the knowledge acquired through previous courses in the program. Each student group will work on a development project involving the creation of a web-based business system (a so-called web application): for example, an online store.

Agile

The development project must be agile and the Scrum methodology must be applied. For the development project to be approved, the following principles, techniques, and methods must be actively applied:

The web application must have a certain level of functionality. It is important to focus on delivering value to the customer/user, so the functionality must be based on the results from the marketing plan. It is better to focus on developing a subset of the system with full functionality than many different parts with limited functionality. At the beginning of the project, it is difficult to estimate how long the development will take, and it is quite common that replanning is needed.

A Web Application

The web application developed in the project may be an online store. Each group must define its own project proposal. A brief description of the web application must be submitted to the supervisor at the first supervision meeting during sprint 2 and uploaded to Lisam together with the research question (see Course Structure on the Course Information page). Each web application must have both functional and technical requirements. These requirements will be included in the product backlog, and user stories must be created. The group will define the requirements for the web application; in addition to the application-specific requirements, the following requirements must also be included.

Functional Requirements:

Every web-based business system must be a fully functional system defined by relevant functional requirements that meet its customer and market needs. The functional requirements should be identified by the group based on the vision for the business system. Each store must have basic functionality, including:

  • Displaying content in a way that is relevant to the customer/user (e.g., products/services in an e-shop).
  • Collecting relevant data, such as information about customers/users, completed activities, and statistics (e.g., completed purchases to enable professional handling of complaints).
  • A developed and professional payment process with relevant steps (e.g., ordering, confirmation, and payment of products/services in an e-shop), simulated or implemented using, for example, Stripe or PayPal's developer sandboxes for testing. For PayPal, Basic Express Checkout is recommended, as many other integrations do not work in Sweden or without a premium account.
  • The ability for the user (customer and supplier) to revisit past events in the system (e.g., order history to facilitate a complaint).
  • If the web application is to be edited by an administrator, an online editing view for authorized administrators must be available.

Technical Requirements

The following technical requirements shall apply:

  • Relevant optimization of loading times and network performance.
  • The web application shall be built primarily using Bootstrap, JavaScript (modern JavaScript is recommended, but frameworks such as jQuery are permitted), and Python, Flask.
  • Data in the web application shall be stored in a database.
  • The development project shall function as a web application, meaning that upon any request, only the difference (the additional information/data) shall be fetched (rather than an entire web page) and presented on the page.
  • The development project shall consist of a back-end and a front-end that communicate exclusively via JSON.
  • If the web application is to be used on various devices, it shall be adapted for different screen sizes. Design decisions for mobile and desktop (and potentially large TV screens) must be made. Bootstrap is built for responsive design (as this is called), but design choices must be made for the project, and suitable components/designs must be selected.
  • The web application shall be version-controlled on gitlab.liu.se

Additional relevant technical functionality

  • Shipping - automatic handling of freight for UPS, DHL, etc., using e.g. ... EasyPost and Shippo, both of which offer Python APIs
  • Tax management with e.g. Taxamo

Page responsible: Martin Sjölund
Last updated: 2026-03-12