Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release script #32

Open
wants to merge 109 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 101 commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
375b042
Merge pull request #4 from virtual-labs/main
yatharth-gupta Jul 6, 2023
e6a000a
Merge pull request #7 from yatharth-gupta/dev
yatharth-gupta Jul 6, 2023
4a0e1e6
Outreach issue fixed
112Nisha Jun 14, 2024
b856dbd
Add files via upload
112Nisha Jun 14, 2024
b3da819
Add files via upload
112Nisha Jun 14, 2024
77896c6
Add files via upload
112Nisha Jun 14, 2024
2c1d9c0
Outreach page complete + VLEAD page tabs added
112Nisha Jun 17, 2024
828f4d4
Outreach dropdown bug fixed
112Nisha Jun 18, 2024
6eea2b3
Testimonials big fixed
112Nisha Jun 18, 2024
d862880
Timeline css made more appealing
112Nisha Jun 18, 2024
8b8e279
small css change
112Nisha Jun 19, 2024
addef6c
Linking images via url
112Nisha Jun 20, 2024
2068b4f
Purpose added, Initiatives modified
112Nisha Jun 21, 2024
6ba8ba0
VLABS page modified
112Nisha Jun 21, 2024
06bbc2c
Fixed Issue on Navbar
112Nisha Jun 23, 2024
c347cf3
Random testimonial loading from google scripts
112Nisha Jun 24, 2024
d95d129
View More button in Testimonials and Remove images in Motivation
112Nisha Jun 24, 2024
6aaa87c
Update Reame links
112Nisha Jun 24, 2024
b1cef1d
Image for Team url modified
112Nisha Jun 25, 2024
7d98300
FAQ adjusted
112Nisha Jun 25, 2024
c0aaee5
Added links to institutes
112Nisha Jun 25, 2024
75cdb7c
Transition for vlabs purpose
112Nisha Jun 25, 2024
3353991
Initiatives and Purpose images format modified
112Nisha Jun 26, 2024
61abb19
Images for institutes, initiatives and motivation
112Nisha Jun 26, 2024
f8e49c6
Testimonials new script
112Nisha Jun 28, 2024
8c77a79
TimeLine and scripts
112Nisha Jun 30, 2024
a3c96f1
Update Readme with changes
112Nisha Jun 30, 2024
ce7b88e
Merging with main
112Nisha Jun 30, 2024
80591d2
Merge bugs fixed
112Nisha Jul 1, 2024
6fbf0fe
Index merge bug
112Nisha Jul 1, 2024
f768e95
Temporary fix for the workshop images
112Nisha Jul 1, 2024
65db135
Outreach page direct open links
112Nisha Jul 1, 2024
cfde4f7
Virtual Labs about page
112Nisha Jul 2, 2024
6b78017
Timeline
112Nisha Jul 2, 2024
1961106
Analytics split into two
112Nisha Jul 3, 2024
8600980
Responsive about pages
112Nisha Jul 3, 2024
b6a0029
Timeline
112Nisha Jul 3, 2024
5d00c76
Open to page
112Nisha Jul 3, 2024
b643fa8
Faq
112Nisha Jul 3, 2024
34bd60d
Fragments for each url in Outreach, Developers and Research
112Nisha Jul 3, 2024
8780afb
cleaning
112Nisha Jul 3, 2024
c99f015
Update deployment-testing.yml
raj-vlabs Jul 3, 2024
5068243
Change script
112Nisha Jul 3, 2024
9efdd5d
Merge branch 'dev' into testing
112Nisha Jul 3, 2024
ec5b7fb
Remove errors
112Nisha Jul 3, 2024
db42a66
For astro
112Nisha Jul 3, 2024
03fa5f7
Timeline initial design (iteration 3)
112Nisha Jul 5, 2024
4615f5b
Timeline colors
112Nisha Jul 5, 2024
8b05a0e
Responsive timeline
112Nisha Jul 5, 2024
7dcfa4e
Stats
112Nisha Jul 8, 2024
33c2409
analysis
112Nisha Jul 8, 2024
d38d21c
Merge branch 'testing' into dev
112Nisha Jul 8, 2024
1ab79f3
detailed analysis fix
112Nisha Jul 8, 2024
6a897a1
New Card, images for timeline
112Nisha Jul 9, 2024
0f8ab4d
about data update
112Nisha Jul 9, 2024
2fc4f7f
Proof of concept for the pop up
112Nisha Jul 15, 2024
75260c9
Devprocs doc update
112Nisha Jul 15, 2024
1abf998
Pop up for labs using script
112Nisha Jul 16, 2024
6b72a74
Rating stars added
112Nisha Jul 16, 2024
9081121
Summary modifed
112Nisha Jul 18, 2024
4ae6ec9
Small modifs to home page
112Nisha Jul 18, 2024
7022d53
Loading all at once from scripts
112Nisha Jul 18, 2024
89be926
Timeline modifications
112Nisha Jul 18, 2024
81fabda
jQuery resolution
112Nisha Jul 18, 2024
66de191
jQuery resolution
112Nisha Jul 18, 2024
d2bfcb3
Detailed Analysis fix
112Nisha Jul 18, 2024
899d2ab
Detailed Analysis
112Nisha Jul 18, 2024
86fd8b8
Detailed Analysis
112Nisha Jul 18, 2024
028d6e0
Detailed Analysis
112Nisha Jul 18, 2024
aec5593
Detailed Analysis
112Nisha Jul 18, 2024
e35ce65
Detailed Analysis
112Nisha Jul 18, 2024
c42e157
Detailed Analysis
112Nisha Jul 18, 2024
c1a2fd7
Detailed Analysis
112Nisha Jul 18, 2024
c893afa
Detailed Analysis
112Nisha Jul 19, 2024
c4ebb73
deploy on gh-pages
112Nisha Jul 19, 2024
c204911
Deploy on release to vlead.vlabs.ac.in
112Nisha Jul 19, 2024
ef97fdf
comment out SVG
112Nisha Jul 19, 2024
88a801b
json file for navbar
112Nisha Jul 19, 2024
d9bf3b3
lab view
112Nisha Jul 19, 2024
74cabf9
Small fixes
112Nisha Jul 22, 2024
4f2bd40
Doc change
112Nisha Jul 22, 2024
06a43bf
fragments
112Nisha Jul 22, 2024
1eac98d
Timeline
112Nisha Jul 22, 2024
36d30a2
Scripts + workflow
112Nisha Jul 23, 2024
b6accf3
Workflow
112Nisha Jul 23, 2024
9dba16a
Update Readme
112Nisha Jul 23, 2024
06c4a16
Small fixes
112Nisha Jul 23, 2024
a7b1cbc
Added Timeline
112Nisha Jul 25, 2024
f23647a
HomePage
112Nisha Jul 25, 2024
3ad938d
Card
112Nisha Jul 25, 2024
f6a655c
Card
112Nisha Jul 25, 2024
b58f623
Tabs sticky on clicking an anchor tag
112Nisha Jul 26, 2024
5df2e9f
Tabs sticky on clicking an anchor tag
112Nisha Jul 26, 2024
39c5473
Changes
112Nisha Jul 26, 2024
41db685
doc
112Nisha Jul 26, 2024
10ee957
doc
112Nisha Jul 26, 2024
5f0f9c4
Update navbar.json
112Nisha Jul 29, 2024
6a8272f
Merge pull request #30 from virtual-labs/main
anshium Jul 30, 2024
a88fe65
Added experiment life cycle doc
mrudhvika940 Aug 7, 2024
c11cd22
Delete .github/workflows/deployment-script.yml
ravikiran2020 Aug 9, 2024
6a53623
Delete .github/workflows/deployment-testing.yml
ravikiran2020 Aug 9, 2024
df8d234
Update deployment-release.yml
ravikiran2020 Aug 26, 2024
35cfbff
Update deployment-release.yml
ravikiran2020 Aug 27, 2024
457336e
Update deployment-release.yml
ravikiran2020 Aug 27, 2024
88d08c7
Update deployment-release.yml
ravikiran2020 Aug 27, 2024
f9eb03b
Update deployment-release.yml
ravikiran2020 Aug 27, 2024
0007224
Update deployment-release.yml
ravikiran2020 Aug 28, 2024
b2c72a1
Create deployment-script.yml
ravikiran2020 Aug 28, 2024
297dac4
Update deployment-script.yml
vikramk20 Sep 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/deployment-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Deploy to S3 on Release

on:
release:
types: [published]
# Only run this workflow when a release is published (not when a draft is created)

permissions:
contents: read

jobs:
build-and-deploy:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please have build and deploy as 2 separate jobs with deploy dependent on build

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@raj-vlabs 2 separate jobs created for build and deploy. Deploy is dependent on build.
Please check

runs-on: ubuntu-latest

steps:
- name: Checkout your repository using git
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install dependencies
run: npm install

- name: Build Astro site
run: npm run build

- name: Set AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_PROD_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_PROD_SECRET_ACCESS_KEY }}
aws-region: ap-south-1

- name: Deploy to S3
run: |
aws s3 sync ./dist s3://vlead.vlabs.ac.in --delete
# astro builds to ./dist by default
93 changes: 0 additions & 93 deletions .github/workflows/deployment-script.yml

This file was deleted.

80 changes: 80 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# VLEAD Website Documentation

## Introduction

Welcome to the VLEAD Website Project Documentation. This documentation is divided into two main sections:

1. [Developer Documentation](content-developer.md)
2. [Content Editor Documentation](content-editor.md)

---

## Overview

The aim of the project is to create a website for the Virtual Labs Engineering and Architecture Division (VLEAD). The website is intended to be rich, easy-to-use, and intuitive. Mobile usage is also a priority for the website, in that it should be responsive and content/functionality should not be compromised on smaller screens.

The website was built using [Astro](https://github.com/withastro/astro).

## Target Audience

We expect and provide for 3 kinds of users:

1. **Learners:** Learners should be able to use the website to effectively explore experiments and begin their learning process. The website should be equally intuitive for both first-time and returning users. They can browse, search, and filter experiments (by discipline and lab).
2. **Educators:** Would be using the website to access the experiments but also for other purposes. Outreach pages with relevant documentation have been added to that end.
3. **Creators:** The website has sections to guide experiment creators through the process of creation and hosting.

In addition to these proto-users, we also have some sections which are common to all of them and also to the casual visitor e.g. Analytics, Research, FAQs.

## Technology Used

The main framework is Astro. A sizeable portion of our project was to analyze and compare frameworks to arrive at the best one keeping in mind the requirements. To this end, we tested [Astro](https://astro.build/), [NextJS](https://github.com/vercel/next.js), and [Docusaurus](https://github.com/facebook/docusaurus). The framework comparison document can be seen [here](https://iiitaphyd-my.sharepoint.com/:w:/g/personal/shambhavi_jahagirdar_research_iiit_ac_in/EcErRHvq5KVBh-avesZpigUBehz83adNFtw_O2fREY6Gkg?rtime=K3SIvP1C20g), and the Astro segment can be found in the Appendix. Our priorities were that the framework be reasonably supported and easy to pick up for new users, so that future maintainers could quickly start working on the codebase without significant learning curves.

The project is built on [node.js](https://nodejs.org/en) and uses [React](https://github.com/facebook/react) components in places. This utilizes a feature called [Astro Islands](https://docs.astro.build/en/concepts/islands/), whereby components written in *any* library can be imported into an astro filed and used directly. Hence, we leave future maintainers the option of modifying code and using a different library without having to refactor the entire codebase.

For convenient CSS, we have used [Bulma](https://github.com/jgthms/bulma).

A full list of the major libraries used in the project can be found in the Appendix.

## Overall Architecture

**The homepage** is organized so as to provide the website visitor with the choice of 3 roles. Until a role is chosen, the user will be able to see a link to the Analytics page and Our Team page on the navbar, and 2 other sections on the page -- **Domains** and **Support**.
*Domains* is a carousel of the various domains covered by Virtual Labs experiments e.g. Computer Science, Biotechnology, etc. Clicking on any of them takes the user to the experiments page with the discipline filter applied. *Services* contains 4 parts -- *Development and Hosting*, *Research*, *Outreach* & *Virtual Box*. Clicking on these takes you to the relevant pages.
The 'choose role' side of things is important. On choosing one of *Learner*, *Educator*, or *Creator*, we set a Session Storage variable with the the corresponding value. Links relevant to each role appear in the navbar. Currently this entails
* Learner → Start Learning
* Educator → Outreach
* Creator → Create Experiment


**The Analytics page** contains 4 graphs, based on data fetched from 4 different spreadsheets. Below that we have an iframe showing detailed data.

**The Create Experiment page** can be accessed through the Support section on Homepage. In *Creator* mode, a hyperlink on the navbar also links user to this page. This page contains the required documentation for creating (development) and hosting an experiment. Each doc has the corresponding Table of Contents for easier navigation.

**The FAQ page** can be accessed through the Support section on Homepage. It has some frequently asked questions related to virtual labs. Each question answer pair is collapsible, i.e, opens on clicking.

**The Our Team page** can be accessed through the navbar. It contains the profiles and testimonials of all VLEAD employees and student associates - interns, RAs, etc.

**The Research page** can be accessed through the Support section on Homepage. As of now it does not contain any data, but simply a research.astro file can be created if required.

**The Outreach page** can be accessed through the Support section on Homepage. In *Educator* mode, a hyperlink on the navbar also links user to this page. This page contains the required documentation for conducting a workshop, FAQs regarding worshops, stats about the previously conducted worshops and information about nodal centers.

**The experiments page** was made by other team, which we just integrated in our website. It can be accessed by clicking on a particular domain which will filter experiments for that domain. In *Learner* mode, a hyperlink on the navbar also links user to this page.

**The 404 page** is created so that if user by chance navigates to a non-existing page, he will be able to experience a random experiment.

**The experiments page** was made by other team, which we just integrated in our website. It can be accessed by clicking on a particular domain which will filter experiments for that domain. In *Learner* mode, a hyperlink on the navbar also links user to this page.

**The 404 page** is created so that if user by chance navigates to a non-existing page, he will be able to experience a random experiment.

## Appendix

1. Astro framework analysis ![](https://i.imgur.com/C3r8osR.png)
2. Libraries used
* bulma
* swiperJS
* AOS(animate on scroll)
* recharts
* remark and rehpye (for markdown files)
* fuse.js
* mui (used on experiments page by other team)
* typewriter-effect
* font-awesome
48 changes: 48 additions & 0 deletions content-adder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Content Adder Documentation

## Adding New Content

1. **Markdown Content**
- Create a new Markdown file in the appropriate directory.
- Ensure the file follows the required structure and formatting guidelines.
- Add the new file's path to the relevant JSON file for automatic fetching and rendering.

2. **Images**
- Upload the image to the appropriate directory in the `public` folder.
- Ensure the image is publicly accessible and follows the naming conventions.

3. **JSON Files**
- Update the relevant JSON file with the new content.
- Ensure the JSON structure is maintained and properly formatted.

## Updating Existing Content

1. **Markdown Content**
- Locate the existing Markdown file.
- Make the necessary changes.
- Save and commit the changes.

2. **Images**
- Replace the old image with the new one in the `public` folder.
- Ensure the image link in the JSON or Markdown file is updated accordingly.

3. **JSON Files**
- Locate the relevant JSON file.
- Make the necessary updates.
- Ensure the JSON structure is maintained and properly formatted.

## Troubleshooting

1. **Content Not Displaying**
- Ensure the file path is correct in the relevant JSON file.
- Check for any syntax errors in the Markdown or JSON file.
- Verify the image link is correct and publicly accessible.

2. **API Rate Limits**
- If FAQs or other content are not loading, it might be due to API rate limits. Wait for the limit to reset or consider fetching the content at build time.

## Adding Roles

- Modify the `home_data.json` file to add or update roles on the homepage.
- Ensure the new roles have corresponding sections and content available.

Loading