Skip to main content

๐Ÿ‘‹ Hi, Welcome๐Ÿ˜€

Welcome to the Impact Reference Library โ€” a project built to help every BCA student
from all departments (Data Science, AI, Cybersecurity, Fullstack, Android, and more).

๐ŸŽฏ Where Study Meets Focus

Some notes may still be missing (since topics overlap differently across departments).
Theyโ€™ll be added later โ€” and if you have them, feel free to link or contribute directly from the page or on github.


๐Ÿ“š Quick Navigationโ€‹

Pick a subject below to dive in โฌ‡๏ธ

๐Ÿ’ป Computer Programming โ€“ II

Advanced programming concepts and practices.

Open

๐Ÿ”ข Discrete Mathematics

Sets, logic, graphs, and combinatorics.

Open

๐Ÿง Linux & Shell Programming

Operating systems, shell scripting, and commands.

Open

๐Ÿ“Š Statistics

Data analysis, probability, and statistical methods.

Open

๐Ÿ“ Functional English

Communication skills and technical writing.

Open

โœ๏ธ Technical Report Writing

Professional documentation and report formatting.

Open

๐ŸŽฅ Multimedia System

Audio, video, graphics, and media technologies.

Open

๐Ÿ“‚ Extras

Additional resources and supplementary materials.

Open

โฎ๏ธ Previous Semester(s)โ€‹

Revisit materials from earlier semesters. Perfect for reference and building foundational concepts.

๐Ÿ“š Semester 1

Foundational concepts and core subjects from Semester 1.

View Semester 1

๐Ÿ“– Docusaurus Linking & Routing Guideโ€‹

Docusaurus automatically generates URLs from your file structure. Understanding how this works helps you write correct links.

File โ†’ URL conversionโ€‹

File PathGenerated URL
docs/Semester 2/Computer Programming โ€“ II/index.mdx/docs/Semester 2/Computer Programming โ€“ II/
docs/Semester 2/Computer Programming โ€“ II/Notes/index.mdx/docs/Semester 2/Computer Programming โ€“ II/Notes/
docs/Semester 2/Computer Programming โ€“ II/Handout.mdx/docs/Semester 2/Computer Programming โ€“ II/Handout
docs/Semester 2/Computer Programming โ€“ II/Assignments.mdx/docs/Semester 2/Computer Programming โ€“ II/Assignments
docs/INTRO/intro.mdx/docs/INTRO/

Key Rules:

  • index.mdx files generate folder URLs (with trailing /)
  • Regular .mdx files generate page URLs (no trailing /)
  • Folder names and file names become part of the URL
  • Spaces in folder names are preserved in URLs

1) Relative links (inside subject folders)

Best for linking between pages in the same subject:

<Link to="./Notes/">View Notes</Link>
<Link to="./Assignments">View Assignments</Link>
<Link to="./">Back to Subject</Link>

Use when: You're inside a subject folder linking to sibling pages or parent folder.

2) Absolute links (full document path)

Best for homepage or cross-subject linking:

<Link to="/docs/Semester 2/Computer Programming โ€“ II/">Open Subject</Link>
<Link to="/docs/Semester 2/Computer Programming โ€“ II/Notes/">View Notes</Link>
<Link to="/docs/Semester 2/Discrete Mathematics/Assignments">DM Assignments</Link>

Use when: Linking from homepage or different subjects.

3) URL-encoded absolute links

For links in plain text/buttons without JSX:

[Go to Notes](/docs/Semester%202/Computer%20Programming%20โ€“%20II/Notes/)

Spaces โ†’ %20, special characters โ†’ encoded

Homepage linking to a subject:

<Link to="/docs/Semester 2/Computer Programming โ€“ II" className="button">
Open Subject
</Link>

Subject index linking to materials:

<Link to="./Notes/" className="button">View Notes</Link>
<Link to="./Handout" className="button">View Handout</Link>
<Link to="./Assignments" className="button">View Assignments</Link>

Notes folder index (if you add one):

<Link to="./">Back to Subject</Link>

Frontmatter: The metadata headerโ€‹

Every .mdx file needs frontmatter (YAML at the top):

---
title: Computer Programming โ€“ II
description: Advanced programming concepts
sidebar_label: CP โ€“ II
---

Fields:

  • title - Page heading & browser tab title (required)
  • description - Short summary (optional)
  • sidebar_label - How it appears in sidebar (optional, defaults to title)

File naming conventions in this projectโ€‹

  • Folder names: Full subject names (Computer Programming โ€“ II, Discrete Mathematics)
  • Index files: All folders use index.mdx to create folder URLs
  • Material files: Capitalized (Handout.mdx, Assignments.mdx, MiscActivities.mdx, Notes/index.mdx)
  • Note: File/folder names are case-sensitive on Linux/Vercel; match exactly in links

Special cases & gotchasโ€‹

1) Notes is now a folder, not a file

Old way:

<Link to="./Notes">Notes</Link>  โŒ This won't work

New way:

<Link to="./Notes/">Notes</Link>  โœ… Folder links need trailing /

2) Deep nesting within Notes

If you add pages inside Notes/ folder:

docs/Semester 2/Computer Programming โ€“ II/Notes/
โ”œโ”€โ”€ index.mdx โ†’ /docs/Semester 2/.../Notes/
โ”œโ”€โ”€ Unit 1.mdx โ†’ /docs/Semester 2/.../Notes/Unit 1
โ”œโ”€โ”€ Unit 2.mdx โ†’ /docs/Semester 2/.../Notes/Unit 2

Link inside Unit 1.mdx:

<Link to="./Unit 2">Go to Unit 2</Link>       // relative
<Link to="./">Back to Notes</Link> // relative

3) INTRO folder special case

The INTRO/intro.mdx is your introduction doc:

<Link to="/docs/INTRO/">Go to Intro</Link>

Currently uses auto-generation (autoCategoryCreation: true in docusaurus.config.js). This means:

  • All folders automatically appear in sidebar
  • All .mdx files automatically create sidebar items
  • Order follows alphabetical sorting by default

If you want custom ordering, you can define sidebars.js - but it's not needed now.

Common linking mistakesโ€‹

โŒ Wrongโœ… CorrectReason
/docs/Semester 2/CP-II/docs/Semester 2/Computer Programming โ€“ IIUse full folder name, not abbreviation
./Notes./Notes/Folder links need trailing slash
./notes./NotesFile/folder names are case-sensitive
/Semester 2/Computer Programming โ€“ II/docs/Semester 2/Computer Programming โ€“ IIInclude /docs/ prefix
docs/Semester 2/Notes/docs/Semester 2/Computer Programming โ€“ II/Notes/Use full path with subject folder
  1. Start dev server: npm start
  2. Navigate to http://localhost:3000
  3. Click the link
  4. If it shows a 404 page, the link is broken
  5. Check the file path matches exactly

When you run npm run build, Docusaurus checks:

  • All <Link> components point to existing pages
  • Markdown links [text](url) are valid
  • No 404 pages will be generated

If a link is broken, build fails with clear error message showing which page and which link.

Fix strategy:

  1. Read error message (shows file and line number)
  2. Verify the target file exists
  3. Check file path spelling and capitalization
  4. Ensure folder links have trailing /
  5. Rebuild: npm run build

๐Ÿงพ Contribution Guide (For Team Members)โ€‹

Want to update notes/handouts or fix something? Follow this workflow so the site stays stable, your contributions show publicly, and approval becomes fast.

info

Do not push directly to main. Always create a branch and open a PR.

๐Ÿงฉ How our pipeline worksโ€‹

Think of the main branch as the final published book. You write on a draft copy (your branch), and then we merge it into the final book after review.

Team member branch โ†’ Pull Request โ†’ Vercel Preview Link โ†’ Review โ†’ Merge โ†’ Live Website

success

Preview Deployment: A temporary live link created by Vercel for your PR so everyone can test changes.

โœ… Step-by-step: from start to approvalโ€‹

1) Pull latest changes before starting

git checkout main
git pull origin main

2) Create a new branch (one task = one branch)

git checkout -b docs/add-sem2-datesheet

Branch naming rules:

  • docs/... โ†’ docs, notes, handouts updates
  • fix/... โ†’ bug fixes / broken links
  • feature/... โ†’ new feature (new section/page)
  • chore/... โ†’ cleanup, formatting

3) Make your changes

Update docs content, add handout links, datesheet pages, etc.

Test locally before pushing:

npm install
npm start

4) Stage and commit changes

git status
git add .
git commit -m "docs(sem2): add datesheet page and exam instructions"

โœ๏ธ Commit messages that get quick approvalโ€‹

Good commit messages make review fast. Format: type(scope): message

Types:

  • docs โ†’ Notes, syllabus, handout pages
  • feat โ†’ New pages/features/sections
  • fix โ†’ Broken links, errors, build issues
  • style โ†’ Formatting changes only
  • chore โ†’ Cleanup, dependency updates

Examples:

  • docs(evs): add unit 1 notes and handout links
  • fix(sidebar): resolve broken assignments link
  • feat(news): add announcement page template

5) Push branch to GitHub

git push -u origin docs/add-sem2-datesheet

6) Create a Pull Request (PR)

Go to GitHub โ†’ Pull Requests โ†’ New Pull Request. Base = main, Compare = your branch.

warning

PR Title Tips: Make it short and meaningful. Example: docs: semester 2 datesheet + exam rules

7) Use the Vercel Preview Link

As soon as PR is created, Vercel generates a preview link automatically. Test your pages there:

  • Check sidebar navigation
  • Open docs pages
  • Test PDF links
  • Confirm no broken links

8) Review โ†’ Approve โ†’ Merge

After testing, owner reviews PR. When approved, PR merges into main. Vercel then deploys the live site.

๐Ÿงช What are "pipelines" and "checks"?โ€‹

When you open a PR, GitHub/Vercel runs automatic checks (like tests/build). These checks show under the PR as status: passing โœ… or failed โŒ.

  • Build check: whether the website successfully builds
  • Broken links check: Docusaurus fails if internal links point to missing pages
  • Preview check: Vercel preview build status
danger

Common failure: Broken links. If you link to a page that doesn't exist, Docusaurus build fails. Fix by creating that page or correcting the link.

โšก Quick Git commands cheat sheetโ€‹

CommandPurpose
git statuscheck changed files
git log --onelinesee commit history
git diffsee changes
git pull origin mainupdate your local main
git checkout -b namecreate branch
git push -u origin branchpush branch

๐Ÿง  PR Template (copy & paste)โ€‹

## What did you change?
- Added/updated ...

## Why is it needed?
- Helps students because ...

## What should reviewer test?
- Open /docs/...
- Test PDF links
- Check sidebar navigation

## Notes
- Any special info
success

โœ… If you follow this guide, your PR will get reviewed faster, merge cleanly, and deploy smoothly.


ยฉ 2026 Shiwansh Bind & Dhananjay & Rahul Saini BCA(GENERAL) ยท Where Study Meets Focus ยท Built with โค๏ธ using Docusaurus