Please do not install anything before you read at least all the installation section. It will save you a lot of time and frustration.
- You need to install
npm. In Linux the following command and version ran smoothly for the rest of the project installation:npm install -g npm@8.19.3. - You will need Node.js to run this project. For this, installing
nvmand then installingnode v16.20.2onnvmis needed. Note that you do not need to have anything else installed in advance to make this project run. - Clone this repo In your terminal:
npm install. This command will install all the needed dependencies with the right versions of each. When you run this command, the foldernode_moduleswill be created. If you get an error, try changing to our desired node version usingnvm(nvm use v16.20.2)- Once the previous step has been completed, you will not need to install anything else, as all the dependencies and needed version of the dependencies were installed when you ran
npm install. What it did was to install based on the contents of the filepackage.json. - Every time you install a new dependency after your first successful installation of dependencies, you need to stop the server (CTRL + C) and run
npm install.
- Run
npm run developto start the dev site. It will run in http://localhost:8000/.
- Run
gatsby developonpm run developto start the dev site. It will run in http://localhost:8000/.
It may happen that you follow all the instructions and the dev site does not run. In that case, you should delete the following folders (if exist) and all their contents:
.cachenode_modulespublic
After this deletion, you will run the npm install command again, and the folders will be created again automatically. When this process finishes, you will try to run the dev mode site again.
Note: The following process was tested in Linux, but it might work the same in Windows Powershell.
nvm use v16.20.2
- In case you want to deploy a test version that will not be located in GoDaddy root:
PREFIX_PATHS=true npm run build. Make sure thepathPrefixline in thegatsby-config.jsfile is uncommented. Make sure the variable of that variable corresponds to your desired name for the folder in GoDaddy. Then runnpm run build.
- In case you want to deploy a final version:
npm run build. Remember to comment thepathPrefixline in thegatsby-config.jsfile.
- It will create a folder called
public. - Check if inside
publicfolder a file calledfavicon.icois available. If it is, please go to the following step, if not, add thefavicon.icointo thepublicfolder. This is to show an icon in the web browser tab. - You can give
publicfolder any name of your choice, but let's say we keep the namepublicthis time. Compress this folder. - Go to GoDaddy File Manager in the
public_htmlfolder. If you notice there is another folder with the same name, please change the name of the existing one. This is only for security reasons in case the new version does not work. - Upload your compressed folder.
- Extract the folder
- Now you should be able to see the webpage if you access https://bigdatavision.org/public/ or https://bigdatavision.org/[the name you decided to give to the folder in step 5]/
- Very important: You need to delete everything from the
public_htmlfolder, except the following folders/files:- raid1 (which contains the projects websites)
- sai (which contains the frontend for the sea ice websystem)
- .htaccess (which is a hidden file that contains permissions to access some of the projects in raid1)
- old (which is a backup of the 2023 version of the webpage)
- The compressed folder you recently uploaded
- Extract the folder you just uploaded
- Now you can move all the contents of the
publicfolder to thepublic_htmlfolder. - You should now be able to see the new webpage version at https://bigdatavision.org/
- Every time you modify a file that is outside
srcfolder, you will not see your changes on the dev site until you do not kill and restart the service.
This project is a Gatsby-based landing webpage created using the Lander theme. The following technologies were used in its development:
- JavaScript: The main programming language used for the project.
- React: For building the user interface components.
- Node.js: Used for server-side development and build processes.
- Tailwind CSS: For styling the application with a utility-first CSS framework.
- Material Tailwind: Additional components were developed using Material Tailwind to enhance the UI with ready-to-use components.
- Font Awesome: To get icons.
- react-multi-carousel: This one was used for the Photos section, since the carousels from Material Tailwind were not working for this project.
We chose to rebuild the landing page using these technologies to leverage modern web development practices. Unlike the previous PHP-based webpage, these technologies provide better performance, a smoother developer experience, and enhanced flexibility for building dynamic and responsive user interfaces.**