Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
2cb0a9c
configured the project
muhammadali-imran Sep 20, 2026
b6cacb6
Merge pull request #1 from muhammadali-imran/version-1
muhammadali-imran Sep 20, 2026
3491d8d
frontend prototype 1
muhammadali-imran Sep 20, 2026
4f55460
Merge pull request #2 from muhammadali-imran/version-1
muhammadali-imran Sep 20, 2026
e4f0b8d
frontend prototype 1 complete
muhammadali-imran Sep 21, 2026
153854f
Merge branch 'SignPak:version-1' into version-1
muhammadali-imran Sep 21, 2026
6101943
Merge pull request #3 from muhammadali-imran/version-1
muhammadali-imran Sep 21, 2026
1cc004a
configured the backend
muhammadali-imran Sep 21, 2026
ee6bd81
Merge pull request #4 from muhammadali-imran/version-1
muhammadali-imran Sep 21, 2026
1065d20
Backend
muhammadali-imran Sep 21, 2026
a424bdc
Theme changed in Frontend
muhammadali-imran Sep 22, 2026
efbcfe8
Merge pull request #5 from muhammadali-imran/version-1
muhammadali-imran Sep 22, 2026
e2b9a76
replace with real text: landing page and demo page
muhammadali-imran Sep 22, 2026
b138742
many small fixes
muhammadali-imran Sep 22, 2026
0cd3def
some small changes
muhammadali-imran Sep 22, 2026
fac23de
footer
muhammadali-imran Sep 22, 2026
0f0f5ad
rm: lorem.js
muhammadali-imran Sep 22, 2026
e5362d5
Merge pull request #6 from muhammadali-imran/version-1
muhammadali-imran Sep 22, 2026
e643bfd
fix
muhammadali-imran Sep 22, 2026
47e91b9
Some seo, not perfectly working one
muhammadali-imran Sep 25, 2026
eaf20a2
feat: faq and notification
muhammadali-imran Sep 25, 2026
a03f242
seo and api routes
muhammadali-imran Sep 25, 2026
9d518a1
fixed and improved
muhammadali-imran Sep 25, 2026
d99b909
improved
muhammadali-imran Sep 25, 2026
57ef835
Merge pull request #7 from muhammadali-imran/version-1
muhammadali-imran Sep 25, 2026
b981e0b
fix
muhammadali-imran Sep 25, 2026
0e58ea6
security update
muhammadali-imran Sep 25, 2026
2dc62c5
removed old paths
muhammadali-imran Sep 25, 2026
03b0d73
update readme.md
muhammadali-imran Sep 25, 2026
c203643
Merge pull request #8 from muhammadali-imran/version-1
muhammadali-imran Sep 25, 2026
0a80bef
automate seo generation
muhammadali-imran Sep 25, 2026
c535296
add new dependencies in backend
muhammadali-imran Sep 25, 2026
041d4ec
Merge pull request #9 from muhammadali-imran/version-1
muhammadali-imran Sep 25, 2026
17b1d6b
admin panel
muhammadali-imran Sep 25, 2026
675ed1b
remove level filter
muhammadali-imran Sep 25, 2026
8e6878c
fix
muhammadali-imran Sep 25, 2026
58dbaad
admin panel
muhammadali-imran Sep 25, 2026
f7feb1a
rm: add video from categories
muhammadali-imran Sep 25, 2026
4a38d0d
Merge pull request #10 from muhammadali-imran/version-1
muhammadali-imran Sep 25, 2026
b7f4a57
pr-template
muhammadali-imran Sep 25, 2026
7b607bb
readme
muhammadali-imran Sep 25, 2026
9fd9db9
Merge pull request #11 from muhammadali-imran/version-1
muhammadali-imran Sep 25, 2026
142a670
root documents
muhammadali-imran Sep 25, 2026
9a3f4db
new github template
muhammadali-imran Sep 25, 2026
6ca9fe2
frontend architecture doc
muhammadali-imran Sep 25, 2026
287de74
fix
muhammadali-imran Sep 25, 2026
3e288db
Merge pull request #12 from muhammadali-imran/version-1
muhammadali-imran Sep 25, 2026
afed2c1
fixing frontend for integration
muhammadali-imran Sep 25, 2026
fea8786
fix
muhammadali-imran Sep 25, 2026
5a9d1e2
backend updated
muhammadali-imran Sep 25, 2026
580d078
backend-frontend compatibility
muhammadali-imran Sep 25, 2026
a38708e
getting rid of the mock data
muhammadali-imran Sep 25, 2026
e83cbd7
added .vercelignore
muhammadali-imran Sep 25, 2026
fcfc908
demo video
muhammadali-imran Sep 25, 2026
c266ea1
unified .gitignore
muhammadali-imran Sep 25, 2026
1f649c1
documentation update in backend
muhammadali-imran Sep 25, 2026
0579b6b
swagger
muhammadali-imran Sep 25, 2026
94dd997
fix
muhammadali-imran Sep 25, 2026
3587324
api docs
muhammadali-imran Sep 25, 2026
f49e297
Merge pull request #13 from muhammadali-imran/version-1
muhammadali-imran Sep 25, 2026
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
69 changes: 69 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Bug report
description: Report a bug or unexpected behavior in the project
title: "Bug Report"
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for reporting a bug. Please fill out the details below so we can investigate quickly.

- type: input
id: summary
attributes:
label: Short summary
description: One-line description of the issue
placeholder: e.g. Login form fails on empty email
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to reproduce
description: List the exact steps that cause the issue
placeholder: |
1. Open the app
2. Go to login
3. Submit the form
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
placeholder: What should happen instead?
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual behavior
placeholder: What happened instead?
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: Browser, OS, Node version, app route, or other relevant details
placeholder: |
- OS:
- Browser:
- Node version:
- App route:
- Build or branch:
validations:
required: false

- type: textarea
id: logs
attributes:
label: Relevant logs or screenshots
description: Add console output, screenshots, or stack traces if available
placeholder: Paste logs or drag screenshots here
validations:
required: false
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Feature request
description: Suggest a new feature or enhancement for the project
title: "Feature Request"
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for suggesting an improvement. Please describe the idea and its value clearly.

- type: input
id: summary
attributes:
label: Feature summary
description: A brief title for the idea
placeholder: e.g. Add category filters to the library page
validations:
required: true

- type: textarea
id: problem
attributes:
label: Problem or need
description: What problem are you trying to solve?
placeholder: Describe the limitation or user need.
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed solution
description: Explain the feature or workflow you want to add
placeholder: Describe the behavior or UI changes you expect.
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
placeholder: What other approaches or workarounds have you considered?
validations:
required: false

- type: textarea
id: context
attributes:
label: Additional context
description: Add screenshots, user stories, references, or implementation ideas
placeholder: Add any extra context here.
validations:
required: false
30 changes: 30 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Pull Request

## Summary

Describe the purpose of this pull request and the problem it solves.

## Changes made

- [ ] Feature added
- [ ] Bug fixed
- [ ] Documentation updated
- [ ] Tests added or updated
- [ ] UI/UX changes
- [ ] Backend/API changes

## Why this change is needed

Explain the motivation, user impact, or issue being addressed.

## Testing

Describe how this was validated.

- [ ] Manual testing completed
- [ ] Automated tests run
- [ ] No relevant tests were available

## Notes

Add any migration steps, follow-up tasks, screenshots, or blockers.
43 changes: 43 additions & 0 deletions .github/workflows/frontend-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Frontend build

on:
push:
branches: [main, master]
pull_request:

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: frontend/package-lock.json

- name: Install dependencies
run: npm ci

- name: Lint frontend
run: npm run lint

- name: Build frontend and generate SEO assets
run: npm run build

- name: Upload production output
uses: actions/upload-artifact@v4
with:
name: frontend-dist
path: frontend/dist
if-no-files-found: error
35 changes: 35 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
node_modules/
.env
uploads/

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Generated from src/seo/seoCatalog.mjs during the build.
frontend/public/sitemap.xml
frontend/public/robots.txt
react-snap-routes.json

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

%SystemDrive%/
10 changes: 10 additions & 0 deletions .vercelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
node_modules
dist
coverage
backend
uploads
*.log
.env
.env.*
!.env.example
.vscode
52 changes: 52 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Code of Conduct

## Our Pledge

We are committed to building SignPakCommons as a respectful, inclusive, and collaborative project. We welcome contributors from all backgrounds, skill levels, and perspectives, and we expect all participation in this project to be constructive and professional.

## Our Standards

Examples of behavior that contributes to a positive environment include:

- being kind, respectful, and patient with others
- giving and receiving feedback constructively
- focusing on the project goals, user impact, and technical quality
- acknowledging the work and effort of other contributors
- helping others learn and grow in a supportive way

Examples of unacceptable behavior include:

- harassment, intimidation, or personal attacks
- discriminatory, insulting, or exclusionary language
- threatening or abusive communication
- repeatedly derailing discussions or blocking progress without cause
- sharing private information without consent
- behavior that undermines the safety or dignity of contributors or users

## Scope

This Code of Conduct applies to all project spaces, including:

- GitHub issues, pull requests, and discussions
- repository communication channels
- meetings, events, and project-related collaboration
- any public or private activity associated with SignPakCommons

## Enforcement Responsibilities

Project maintainers are responsible for clarifying and enforcing this Code of Conduct. They may take any action they consider appropriate, including:

- editing or removing harmful content
- asking for a change in behavior
- temporarily restricting participation
- removing access or banning contributors in serious or repeated cases

## Reporting

If you experience or witness unacceptable behavior, please report it privately to the project maintainers through the repository owner contact channels or the appropriate project communication route. Include as much context as possible, such as links, screenshots, dates, and the people involved.

Reports will be reviewed promptly and handled confidentially, with a focus on maintaining a safe and respectful community.

## Attribution

This Code of Conduct is adapted from the Contributor Covenant and tailored to the SignPakCommons community.
72 changes: 72 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Contributing to SignPakCommons

Thank you for your interest in contributing to SignPakCommons. This project exists to support Pakistan Sign Language data collection and accessibility work, and we value thoughtful, respectful contributions.

## Ways to Contribute

You can help in several ways:

- report bugs or usability issues
- propose features or improvements
- improve documentation
- help with frontend or backend development
- improve testing or QA coverage
- contribute to data collection workflows and validation

## Before You Start

1. Read the project overview in [README.md](README.md).
2. Check the open issues and pull requests to avoid duplicating work.
3. Start with a small, focused change if you are new to the project.
4. Keep discussions respectful and grounded in the project mission and user impact.

## Development Setup

### Frontend

```bash
cd frontend
npm install
npm run dev
```

### Backend

```bash
cd backend
npm install
npm run dev
```

For local backend work, create the environment configuration required by the app before starting the server, using the sample environment file or setup notes in the backend documentation.

## Contribution Workflow

1. Fork the repository and create a branch for your work.
2. Make focused changes with clear commit messages.
3. Run the relevant checks for the area you modified.
4. Open a pull request with a clear description of the change and why it matters.
5. Be responsive to review feedback and update the PR as needed.

## Pull Request Guidelines

- Keep changes small and easy to review.
- Explain the problem being solved and the expected outcome.
- Include screenshots or examples when the change affects user-facing behavior.
- Update relevant documentation when the behavior or workflow changes.
- Ensure the code follows the project's existing patterns and conventions.

## Coding Standards

- Write readable, maintainable code.
- Prefer small, clear functions and simple logic.
- Follow the repo's existing style and naming conventions.
- Add or update tests when the change affects behavior.

## Community Expectations

Please read and follow the project's [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). We aim to make this a welcoming and productive environment for everyone.

## Questions

If you are unsure where to start, open an issue and ask. We are happy to help guide new contributors.
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
# SignPakCommons
sigpakcommons is an open-source infrastructure designed to crowdsource Pakistan Sign Language (PSL) datasets. Join us in building accessible tools, collecting quality data, and empowering the deaf and hard-of-hearing community across Pakistan.

Thank you to everyone who is helping build this project and contribute to the dataset. Your time, effort, and support are making a real difference for the deaf and hard-of-hearing community in Pakistan.

SignPakCommons is a community-driven initiative created to collect and organize Pakistan Sign Language (PSL) data for a better future of communication, accessibility, and inclusion. We believe that language should never be a barrier, and by building this open-source dataset, we are helping create tools that can support education, communication, and everyday digital access for people who use sign language.

This project is being developed by NUST students as part of our final year project, with a simple but powerful purpose: to build meaningful technology for people with hearing difficulties and make the world more inclusive for everyone.

Every sign, every video, and every contribution helps us move closer to a future where communication is easier, smarter, and more accessible. We are deeply grateful to everyone who contributes their time, recordings, feedback, and encouragement. Together, we are building something valuable for the people who need it most.

We also want to thank all contributors who are helping grow this dataset, improve the platform, and support this mission with their work and generosity. Your effort is helping create real impact and bringing long-term accessibility solutions to life.
Loading
Loading