Skip to content

Latest commit

 

History

History
70 lines (52 loc) · 4.03 KB

README.md

File metadata and controls

70 lines (52 loc) · 4.03 KB

CS4530, Summer 2025: Fundamentals of Software Engineering

This repository contains the source for the website for Northeastern's CS4530, Summer 2025 class. If you are looking to browse the site, you should visit it directly, at https://neu-se.github.io/CS4530-Summer-2025/. If you are looking to edit the site, then you have come to the right place!

Websites for prior versions of this class:

License

All materials in this repository (the lectures, assignments, and also the site itself) are released under the Creative Commons Attribution-ShareAlike 4.0 License. Please feel free to reuse or remix these materials in your class. If you do, we'd love to hear your thoughts.

About this site

This website is built using Astro, a customizable framework for content-heavy static and dynamic sites (with an emphasis on static site generation). (As of 2025 when I'm creating this, Astro is a stable but currently-cool toolset. If you're reading this in the future and Astro is an ancient and unmaintainable mess, I'm sorry, it was inevitable, but at least everything's mostly markdown under the hood. - Rob Simmons)

Local development environment

If you have Node LTS 22 or above, you should be able to go to:

npm install
npm run dev

and then go to the URL that pops up on the command line (probably http://localhost:4321/CS4530-Summer-2025).

🚀 Project Structure

Inside of the repository, you'll see the following folders and files:

/
├── .github/
├── pages/
│   ├── activities/
│   ├── calendar.md
│   ├── home.md
│   └── tutorials.md
├── public/
│   └── code
│       └── week1-unit-testing
│           └── jest-tutorial-starter-code.zip
├── src/
│   ├── layouts/
│   └── content.config.js
├── .env
├── astro.config.mjs
└── package.json

Here are a couple of the relevant:

  • Anything in the public/ directory is placed, unprocessed, on the website.
  • The src/ directory, along with the astro.config.mjs file, contain all the Astro configuration for the project. In most cases it should not be necessary to touch this configuration unless you're changing the site.
  • Each page in the pages/ directory corresponds to a page on the site (with the same path, minus the .md extension). Astro is, in general, big on file-based routing.
  • The .env file contains site-wide configuration. If you're updating the website for a new semester, or adapting the repository for a new course, you'll need to update the values in this file.

Links

The website uses <base> element, which means that all relative links on the site are relative to the root of the project, https://neu-se.github.io/CS4530-Summer-2025/ or whatever. In general, you should use fully relative links: if you're trying to link to the page specified as pages/tutorials.md from anywhere on the site, it should look like [this](tutorials), and if you're trying to link to the public/code/week1-unit-testing/jest-tutorial-starter-code.zip file from anywhere on the site, it should look like [this](code/week1-unit-testing/jest-tutorial-starter-code.zip).