proj01 : Team Legacy Code Project

num ready? description assigned MW lect due MW lect assigned TR lect due TR lect
proj01 true Team Legacy Code Project Thu 05/12 02:00PM Wed 06/01 11:59PM

These are the instructions for the legacy code project phase of the course.

Everything up until now has been a kind of “warm up” for this. This is when you work on a project that:

There will be six groups, each composed of two teams:

Group Teams Project
4pm-courses s22-4pm-1, s22-4pm-2 Courses
4pm-happycows s22-4pm-3, s22-4pm-4 Happy Cows
5pm-courses s22-5pm-1, s22-5pm-2 Courses
5pm-happycows s22-5pm-3, s22-5pm-4 Happy Cows
6pm-courses s22-6pm-1, s22-6pm-2 Courses
6pm-happycows s22-6pm-3, s22-6pm-4 Happy Cows

High Level Plan

Teams Project Epic Starter Code
4pm-1, 5pm-1, 6pm-1 Courses Search Course Search Features https://github.com/ucsb-cs156-s22/STARTER-courses-search
4pm-2, 5pm-2, 6pm-2 Courses Search Personal Schedule Features https://github.com/ucsb-cs156-s22/STARTER-courses-search
4pm-3, 5pm-3, 6pm-3 Happy Cows TBD https://github.com/ucsb-cs156-s22/STARTER-happycows
4pm-4, 5pm-4, 6pm-4 Happy Cows TBD https://github.com/ucsb-cs156-s22/STARTER-happycows

Epics

You’ll find an overview of what to do in each Epic here; note however, that this is a high-level document, and is subject to negotiation. You should talk with the other team you are paired with to make sure you are not duplicating effort, or going in different directions, and that your code will all work together.

You are ultimately evaluated separately, but you are evaluated in part on how well you cooperated with your partner team, and worked for the greater good of both teams.

We have set up repos for each of the teams. Note that teams work in pairs in the same repo:

Team Team Repo
s22-4pm-1 s22-4pm-2 https://github.com/ucsb-cs156-s22/s22-4pm-courses
s22-4pm-3 s22-4pm-4 https://github.com/ucsb-cs156-s22/s22-4pm-happycows
s22-5pm-1 s22-5pm-2 https://github.com/ucsb-cs156-s22/s22-5pm-courses
s22-5pm-3 s22-5pm-4 https://github.com/ucsb-cs156-s22/s22-5pm-happycows
s22-6pm-1 s22-6pm-2 https://github.com/ucsb-cs156-s22/s22-6pm-courses
s22-6pm-3 s22-6pm-4 https://github.com/ucsb-cs156-s22/s22-6pm-happycows

You will NOT be able to merge your own pull requests in these repos. Instead:

Your team should try to accumulate 100 points to get full credit (you may go up to 110 for extra credit.)

If you only accumulate 90, that’s an A-, 83 is a B, etc.

Setup Tasks

There are a group of setup tasks that need to be done for both projects.

Then there are a few setup tasks that are specific to each project.

First, the general ones.

The first task is to set up a Kanban board for your team. Assign one person on your team to do this, and note who that will be in your Slack channel.

I suggest using the Automated Kanban with Reviews setup, and then deleting the annoying “example cards” that are added.

image

Note that two teams are working together in a group: e.g. 4pm-1 and 4pm-2 are two separate teams in a group. You should set up a separate Kanban board for 4pm-1 and 4pm-2, not a single one for the entire group. (There are pros/cons to each approach, but this is the way we are proceeding.)

Once the Kanban board is setup, you may use it to track these additional tasks:

Course Search Specific Tasks

For Courses Search, the .env file also needs a value for the URL of a MongoDB database.

Here’s what the values look like when configured in Heroku:

courses-search-env-values

The values for UCSB_API_KEY and MONGODB_URL were distributed on Slack; one person on your team received them from Prof. Conrad via Slack DM, and can share them with the rest of the team via Slack DM (please don’t put them on the open channel.)

Happy Cows Specfic Tasks

For Happy Cows, there are currently no known project specific set up tasks, but if any arise, we’ll post them here.

Now the real work

For details on what to do next, i.e. the “real work” of development, open up the appropriate page below.

Courses Search Epics

  • The -1 teams will work on introducing section level information into search
  • The -2 teams will do further work towards developing the personal schedule feature

There are two Kanban boards, each with a single column, with some suggested issues to get you started.

We’ll also suggest additional ideas via the #proj-courses slack channel, so monitor that for ideas.

If your team runs out of work to do, you may also suggest your own issues; it’s a good idea to run those by Andrew L. or Andrew P., or Prof. Conrad.

Happy Cows Epics

  • The -3 teams will work on features aimed at users (i.e. players of the game)
  • The -4 teams will work on features aimed at admins/instructors (those running the game)

There are two Kanban boards, each with a single column, with some suggested issues to get you started.

We’ll also suggest additional ideas via the #proj-happycows slack channel, so monitor that for ideas.

If your team runs out of work to do, you may also suggest your own issues; it’s a good idea to run those by Bryan Z. or Kevin H., or Prof. Conrad.