Frequently Asked Questions¶
This section is meant to contain frequently asked questions about the assignment. We will continue to update this throughout the period the assignment is released, so check back — and if you hit something that belongs here, post it on Ed Discussions and we will add it.
Getting Your Repository¶
Where is my team's repository?¶
In UCF Code Classroom, the same app you joined for Assignment 1. Your membership carries over, so there is no new link to accept — sign in and open Assignment 2. Repositories appear once teams are assigned.
It is not there.¶
Post on Ed Discussions. Do not create your own repository or fork the project yourself: Code Classroom collects the repository it created for your team at the deadline, and work in any other repository will not be picked up.
Setup¶
Where do I start with installing the project?¶
STUDENTS.md, in the root of your team repository. Every project in this course has one and
it is written for this course. The Environment Setup
page covers the runtimes and services it assumes you already have.
The install fails on a dependency I have never heard of.¶
Check your runtime version first. Being on the wrong version of Node, Ruby, or Go causes
the large majority of setup failures, and the error rarely says so directly. The version
your project wants is in its .nvmrc, .node-version, .ruby-version, go.mod, or the
engines field of package.json.
The project wants a database and I do not have one running.¶
Check whether your project ships a Docker or devcontainer setup — most of the ones that need PostgreSQL or Redis do, and it is much less work than installing them by hand. See Environment Setup.
I am on Windows and nothing works.¶
Use WSL2, and clone the repository inside the Linux filesystem rather than under
/mnt/c/. Most of these projects are developed on Mac and Linux and their setup scripts
assume a Unix shell.
This comes up most often as a wall of test failures that a teammate on a Mac does not see at all, following the exact same steps — the usual cause is line endings and path separators. WSL2 is a containerised Linux environment that runs on Windows; it is the recommended path, and for some of these projects setting them up on base Windows is close to impossible. It will not cause you problems later in the semester.
I am assigned to a team but Assignment 2 is still locked in Code Classroom.¶
Post on Ed Discussions and we will unlock it. This happens when a team assignment lands after the assignment was published, and it is not something you can fix from your side.
Can I use a different package manager than the one the project uses?¶
No. Use the one matching the lockfile in the repository (yarn.lock, pnpm-lock.yaml,
package-lock.json). Switching package managers rewrites the lockfile and produces a huge,
unreviewable diff in your pull request.
Tests and CI¶
The test suite fails on a fresh clone, before I changed anything.¶
You do not have to fix it, and it will not cost you points. Note down which tests fail
and why, submit the screenshot as it is, and carry on. Some suites need a database, a
container, or environment variables; some assume UTC (try TZ=UTC <your test command>);
some render views that need a dev server the test environment does not start. Ask on Ed
Discussions if you would like help understanding a particular failure.
My project has three test suites and one of them has 200+ tests. Do I need all of them?¶
No. Run what you can and submit a screenshot per suite that runs — Webcourses takes multiple attachments. One working suite is enough for credit on the Build Checkpoint.
The test output is far too long to screenshot.¶
Capture just the summary line with the passed/failed counts, or paste the full output into a PDF and submit that instead. Both are fine.
Should the screenshots be of a local run or of GitHub Actions?¶
Local. The point of the Build Checkpoint is that the project builds and its tests run on your machine.
There is no Actions tab on my team repository.¶
That is an organization-level setting on our end, not something you can enable. Post on Ed Discussions. It does not block either part of this assignment — Part 1 runs locally, and Part 2 is a documentation change.
A check fails on GitHub but passes on my machine.¶
Read the failure output before re-running. Some failures are genuine environment differences worth understanding; others are flaky and clear on a re-run. If a check fails for a reason clearly unrelated to your change, note that in your PR description and post on Ed Discussions.
A CI job fails with Resource not accessible by integration, and everything downstream is skipped.¶
That is a permissions configuration in the workflow, not anything to do with your change.
You may leave it and explain it in your PR description, fix the job, or delete the job from
.github/workflows/. All three are acceptable.
The project's linter reports hundreds of errors that were already there.¶
Leave them. Fix only what your change introduced. If your file does not appear in the linter output, you are done.
Picking a File¶
How do I know what counts as the "main source tree"?¶
It varies by project — src/, app/, apps/*/, packages/*/src/, or the Go package
directories in Gitea. Exploring the repository to find where the real components live is
part of the exercise, and using an AI assistant to help you get oriented is encouraged. If
it is still not obvious, ask on Ed Discussions and name the directory you are considering.
Someone on my team already took the file I wanted.¶
Check the open issues in your repository before you start, and pick another. This is why we ask you to open the issue first and assign yourself to it immediately.
I opened the issue and now I want to document a different file.¶
Close the original issue with a short note saying why, and open a new one. No penalty.
Does the file need to have no comments in it at all?¶
No. A file with room to add meaningful documentation is a good choice, even if it already has some scattered comments.
My project barely documents anything, so there is no convention to follow.¶
Then agree on one and say where it came from. Adapt guidelines from a well-documented
open-source project in the same language, credit the source in your PR description, and
record the decision in docs/cen5016/standards.md at
SDE Project Checkpoint 1.
Issues and Pull Requests¶
Does my issue need to be created under a GitHub project?¶
Not for this assignment — an issue in your team repository is enough. On the SDE project you will be adding issues to your team's project board, and the instructions for that are on the Checkpoint 1 page.
Create the issue from your repository's Issues tab rather than by typing into a column of the project board. Items created on the board are draft issues, which do not live in your repository and cannot be assigned to you.
Do I merge my pull request, or wait until it is graded?¶
Merge it. You do not need to wait for the instructor.
Other¶
Can I contribute my documentation upstream to the real project?¶
Not as part of this assignment, and not without talking to me first. These are real projects with real maintainers, and their review time is a scarce resource that should not be spent on coursework. Everything for this class stays in your team repository.