Giter VIP home page Giter VIP logo

cse3000-research-project.github.io's Introduction

CSE3000-research-project.github.io

build:passed

The poster website for the TU Delft course CSE3000 Research Project.


Workflow for students

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.

1. Forking our repository

Before you can make a PR you must fork the repo.
  1. 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.

  2. Clone your fork of the repo from your GitHub account to your local disk:

git clone [email protected]:YourLogin/cse3000-research-project.github.io.git
cd cse3000-research-project.github.io

2. Setting up the project

Add an upstream remote and make a feature branch.
  1. 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
  1. Synchronize your branch with the upstream dev branch:
git checkout dev
git pull upstream dev
  1. Create a feature branch to hold your development changes:
git checkout -b group_N

3. Installing the dependencies

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!


4. Adding the project group and students

Poster storage structure

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 poster
  • poster.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

Creating a new project

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.

Create a new student

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.

5. Running the website locally

Before you make a pull request, please check if the website works on your local machine.

Develop

To start a development server run the following command:

  npm start

and navigate to localhost:8000.

Build

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.


6. Making a PR

You can make a PR using the following steps:

  1. Synchronize your branch with the upstream dev branch:
git checkout dev
git pull upstream dev
  1. Add changed files using git add and then git 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.

  1. Make a PR on GitHub to the dev branch. See these instructions if you don't know how to do this.

Deployment

The website deployed on CSE3000-research-project.github.io using GitHub pages. This website gets updated automatically every time the main branch is updated using the Travis-ci build script. For more information, see the .travis.yml file or this link.


Contributing

Contributions are always welcome! Feel free to make a pull request.

cse3000-research-project.github.io's People

Contributors

j0rd1smit avatar abuszydlik avatar yangelova avatar bowmonk avatar cse3000-research-project avatar merlijnmacgillavry avatar numberhunter avatar rami-ra avatar raulsantanatrejo avatar spsathas avatar ceijkelkamp avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.