The poster website for the TU Delft course CSE3000 Research Project.
We ask each project group to choose a representative who will update the page with the final posters, papers, and (optionally) links to the GitHub or Docker repositories of the whole group. Here we explain the steps required to make a complete pull request to this repository.
Before you can make a PR you must fork the repo.
-
Click on the "Fork" button near the top of the page. This creates a copy of the code under your account on the GitHub user account. For more details on how to fork a repository see this guide.
-
Clone your fork of the repo from your GitHub account to your local disk:
git clone git@github.com:YourLogin/cse3000-research-project.github.io.git
cd cse3000-research-project.github.io
Add an upstream remote and make a feature branch.
- Add a new upstream remote by executing the following command.
git remote add upstream https://github.com/CSE3000-research-project/cse3000-research-project.github.io.git
- Synchronize your branch with the upstream dev branch:
git checkout dev
git pull upstream dev
- Create a feature branch to hold your development changes:
git checkout -b group_N
This project works with Node v14.19 (LTS: Fermium).
You can download Node.js from the Node website.
Consider using a version manager to easily change between the Node versions. As one option, you can install nvm
which also works on Windows if you are using WLS.
After setting up the correct version of Node, install the dependencies:
npm install
Note: We currently recommend that you work with the repository through a Unix shell!
All project groups are stored based on the year and quarter of their CSE3000 Research Project edition. Within this directory, each project group has its own folder with the name Group N
.
Each group folder must have a group_info.yaml
file that contains all the group-related information: group number, project title, and names of the supervisors.
Each group directory has a subdirectory called students
where each student must have their own folder with three files:
student_info.yaml
file with student-related information: first name, last name, thesis title, link to the paper, and optionally link to the code.poster.jpg
which is a preview image of the posterposter.pdf
which is the academic poster itself.
See here for the example structure of the directory.
content
└───posters
└───2021
└───Q4
│ └───Group 1
│ │ │ group_info.yaml
│ │ └───students
│ │ └───John Doe
│ │ │ poster.jpg
│ │ │ poster.pdf
│ │ │ student_info.yaml
To help you create the folder structure for a new project, we created the following CLI command:
node create_a_new_group.js \
--title "Example title" \
--year 2019 \
--quarter 4 \
--groupNumber 42 \
--supervisors "Joe Doe" "Jane Doe"
See here for the description of all arguments of create_a_new_group.js.
Parameter | Type | Description |
---|---|---|
title |
string |
Required. The title of the project. |
year |
int |
Year when the project was conducted. By default the current year. |
quarter |
int |
Required. Quarter when the project was conducted. |
groupNumber |
string |
Required. Your group number on BrightSpace. |
supervisors |
List[string] |
A list of supervisor names. |
To help you create the folder structure for a new student we created the following CLI command:
node create_a_new_student.js \
--title "Example title" \
--year 2019 \
--quarter 4 \
--groupNumber 42 \
--firstName "Joe" \
--lastName "Doe" \
--paperUrl "https://repository.tudelft.nl/islandora/search/?collection=education" \
--posterPdf "absolute/path/to/poster.pdf" \
--posterImg "absolute/path/to/poster.jpg" \
--repositoryUrl "https://github.com/explore"
Note: You should run this command only after a project structure was generated.
See here for the description of all arguments of create_a_new_student.js.
Parameter | Type | Description |
---|---|---|
title |
string |
Required. The title of the project. |
year |
int |
Year when the project was conducted. By default the current year. |
quarter |
int |
Required. Quarter when the project was conducted. |
groupNumber |
string |
Required. Your group number on BrightSpace. |
firstName |
string |
Required. The first name of the student. |
lastName |
string |
Required. The last name of the student. |
paperUrl |
string |
A link to the TU Delft repository version of your paper. |
posterPdf |
string |
An absolute path to the location of the pdf version of your poster. If the flag is left empty, you have to add the pdf manually. Important: the website cannot be built if this image is not present in your folder. |
posterImg |
string |
An absolute path to the location of the JPG version of your poster. This image will be used as a preview of your poster. If the flag is left empty, you have to add the image manually. Important: the website cannot be built if this image is not present in your folder. |
repositoryUrl |
string |
A link to the GitHub/Docker repository with project code. |
Before you make a pull request, please check if the website works on your local machine.
To start a development server run the following command:
npm start
and navigate to localhost:8000
.
You can also build the static website. First run:
npm run build
and then:
npm run serve
and finally navigate to localhost:9000
.
Note: If the website builds successfully but you do not see anything in the browser, try to restart your terminal. Running the gatsby clean
command can also help.
You can make a PR using the following steps:
- Synchronize your branch with the upstream dev branch:
git checkout dev
git pull upstream dev
- Add changed files using
git add
and thengit commit
:
git add modified_files
git commit -m "Add Group N files."
git push -u origin group_N
Note: Please make sure that your commit message follows the format Add Group N files
or Update Group N files
where N
is the number of your group on Brightspace.
Note: If you run across an issue with the node_modules hooks (command not found
), you can commit your files with the flag --no-verify
.
- Make a PR on GitHub to the
dev
branch. See these instructions if you don't know how to do this.
The website is deployed on CSE3000-research-project.github.io using GitHub Pages. This website should be updated automatically every time the main branch is updated using the Travis-ci build script.
You can also deploy the page locally via command line. To do this, first change $GH_TOKEN
in the deploy:ci
command in package.json
to the correct repository secret taken from the CSE3000-research-project
GitHub account, and then execute npm run deploy:ci
command. Authentication during deployment is also done using the token.
Make sure that the token is not committed to the repository!
For more information, see the .travis.yml
file or this link.
Contributions are always welcome! Feel free to make a pull request.