Skip to content

Resources

Setting up Project Pulse

Project Pulse is the codebase you read all term, and your first assignment runs on it. Do this early in the week rather than the night before it is due. If something fails, post the exact command and the exact error text in Slack, in the help channel; setup problems are almost never unique to one person.

1. Install the toolchain

Tool Version Notes
Git any current
JDK 21 Project Pulse targets Java 21 on Spring Boot 4. A newer JDK may work; 21 is what the build declares.
Node.js 20 LTS or newer The frontend builds with Vite 5, which needs Node 18 at minimum. Use an LTS release.
Docker Desktop any current Runs MySQL 8.0 and Mailpit.
Maven do not install The repository ships the mvnw wrapper. Use it.
An editor your choice

The README assumes this toolchain and does not name versions, which is why the table is here. A JDK other than 21 is the most common reason a first build fails.

2. Clone and run it

The Project Pulse README is the procedure, and it is the one to follow: Docker for MySQL and Mailpit, the backend, the frontend, the ports, and the test student and instructor logins. It is not repeated here, because it moves with the code and a copy on this site would quietly fall behind it.

Two things differ for assignment 1. Clone your own fork rather than the repository the README names, and read the README in your fork, so the instructions match the code you actually have.

Getting it to start is the goal this week. Understanding it is not, yet.

3. Set up your AI coding agent

Confirm it can read the cloned repository. See Working with AI for access.

4. Have a GitHub account

One you will use all year, with your real name on it. Your contribution history is part of how the project is assessed.

If you get stuck, write down exactly where

"It failed" is not a question anyone can answer. A pasted command and stack trace is. Post the text, not a description of the text.

Project Pulse

Project Pulse is a Vue.js, Spring Boot, Maven, Docker, and Azure application. It plays two roles in this course:

  • The demonstration codebase. Every software engineering move is shown on real code before you apply it to your own project.
  • The individual assignment vehicle. All five Project Pulse assignments are graded per student on this codebase.

It is a real application with real history, real technical debt, and real bugs. That is why it is used instead of a toy example.

If you have not taken Web Technologies

Studio assumes you can run a Spring Boot and Vue.js stack. Several later topics (CI/CD pipelines, Spring Boot Actuator, Spring Security) are taught here for the software engineering concepts and the lifecycle reasoning, not for the tooling setup, which would eat class minutes better spent elsewhere.

If you did not take that course, you are not stranded, but you do have a catch-up path to walk. Start with these two series, written by the instructor and free. Watch with the demo repository open beside you and type it along; reading it is not the same thing.

Series Code Covers
Learn Vue 3 with Bingyang learn-vue-3-with-bingyang The frontend half. Project Pulse runs the same Vue 3 and Vite stack.
Learn Spring Boot 3 with Bingyang Hogwarts Artifacts Online The backend half, built with the layering Project Pulse uses. The series teaches Spring Boot 3 and Project Pulse is on 4, so a few APIs moved; the structure and the practices carry over.

Work through the parts you need rather than all of it. The goal is being able to read and run the stack, not mastery. Combine that with assignment 1 and the week 2 studio and you will keep up.

Tools

Everything in this course is free to you, the coding agent included.

Tool Used for
Git and GitHub Single source of truth: code, Issues as user stories, Sub-issues as tasks, Projects board, pull requests
Slack Team and course communication
Markdown Every specification and design document
Mermaid Diagrams, in Markdown, version-controlled with everything else
A coding agent Design and implementation, across the lifecycle. See Working with AI.
Google Drive Your team's reports, minutes, and slides. See Senior Design Project.

No Jira. No Trello. Your GitHub repository is the project record, and it is what gets reviewed.

Reading

Sources the course draws on, for anyone who wants the depth behind a lecture.

  • Wiegers and Beatty, Software Requirements, 3rd edition. The SRS, use-case, vision-and-scope, and glossary shapes used in this course.
  • Bass, Clements, and Kazman, Software Architecture in Practice. Quality-attribute-driven design and the utility tree.
  • Starke and Hruschka, arc42, and Brown's C4 model. The architecture-of-record template.
  • Nuseibeh, "Weaving Together Requirements and Architectures" (2001). Why requirements and architecture co-evolve rather than sequence.
  • ISO/IEC/IEEE 29148. Requirements quality characteristics, and why traceability runs in two directions.

Per-topic reading is listed with each module as the term goes.

Getting help

  • Your TA first, for anything about your project. They know it.
  • Instructor office hours, MW 11:00 - 12:00 in TUC 341D, or by appointment.
  • Slack, for questions whose answers help everyone.
  • Email b.wei@tcu.edu for anything private.