Skip to content

The Website

Param Siddharth edited this page Feb 10, 2022 · 2 revisions

The Website

The website is made in React using TypeScript and TSX.

Here are some facts about the source code and the website:

  • Two servers run when you run the development server (npm run dev):
    • A Vite development server for the React application.
    • A Nodemon server for rebuilding the indices if any changes are detected.
  • To avoid the need of a back-end, the application uses indices that are built at runtime. The indices are always in YAML format and are ignored by the .gitignore file so as to avoid getting committed.
  • The deployment and tests are run using GitHub Actions.
    • A new deployment happens on every new push to the main branch.
    • The build test runs (without a deployment) on every new tag or pull request.
  • The application was bootstrapped using Vite instead of CRA.
  • For fallback profiles, the application uses Cheerio for scraping within the front-end. This is possible due to GitHub Pages always giving back the header Access-Control-Allow-Origin: *. Yes, https://githubcampus.expert is deployed on GitHub Pages (it is made in Jekyll, of course).
  • The website is super scalable, because the indices are always paginated. This is rare for React applications, but do you know who I am? 😎
  • The cards displayed in the Discover page are not rendered all at once. What if we have thousands of campus experts? They are rendered in greater numbers as the user scrolls down.

Enough with the facts. Why don't you check out the website? ❤ Here you go: https://gce-india.github.io

Clone this wiki locally