GirlScript Summer Of Code is a three-month-long Open-Source Program conducted every summer by the Girlscript Foundation.
With constant efforts, participants contribute to numerous projects under the extreme guidance of skilled mentors over these months. With such exposure, students begin to contribute to real-world projects from the comfort of their homes. GirlScript Summer Of Code has witnessed active participation over the years, and the 2024 edition aims to carry the legacy with a promising impact.
create-next-app
. First, install the node modules & dependencies:
npm i
# or
yarn
Next, run the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 with your browser to see the result.
.
├── .github
│ └── workflows
│ ├── gssoc-deploy.yml
│ └── contributors.yml
├── public/*
├── components/*
├── pages/*
├── styles/*
├── package.json
├── next.config.js
├── tailwind.config.js
├── postcss.config.js
├── README.md
├── LICENCE
└── contributors.md
pages/index.js
. The page auto-updates as you edit the file.pages/api/hello.js
.pages/api
directory is mapped to /api/*
. Files in this directory are treated as API routes instead of React pages.components
directory public
directory contains all the assets used in the project (including images, certificates, graphics and logos)
The styles/globals.css
file consists of all the custom css used apart from inline Tailwind styles. The website was designed to support both light and dark themes. It reads the current theme preference of the client browser and accordingly applies the state throughout the website.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
The website in our case was deployed on GitHub pages using a custom workflow that can be found at .github\workflows\gssoc-deploy.yml
At the time of writing this project, GitHub did not provide GitHub pages configuration for Next.js by default and thus, had to be deployed using the next-pages workflow from the Github Actions marketplace
The list of participating projects for the GirlScript Summer of Code 2022 as well as in the previous editions is made available through the JSON Endpoint available HERE which is actually the raw version of the selected project list available in THIS Google Sheet.
The leaderboard's backend is hosted in Heroku and is developed in a separate repository which can be found HERE.
This uses the GitHub OctoKit SDK documented HERE to fetch merged PR data for each contributor in the program and calculates their global rank as per labels assigned by the project owners/maintainers as per the following scoring system:
json
of contributors' final ranking data. It can found at pages\api\leaderboard.json
The website includes a feature of onchain certificate verification to provide convinient download of certificates for eligible participants in each role:
namely Top 100 Contributors, Top Mentors, Top Project Admins, Top Campus Ambassadors and the organising team. The data of eligible open-sourecerers can be checked under pages\JSON
directory
The smart contract and ABI used to achieve this can be found at pages\JSON\Certificates.sol
and pages\JSON\ABI.json
respectively.
To learn more about Next.js, take a look at the following resources: