Welcome to the SMS Without Borders project homepage!
This project was crafted with React for a seamless development experience.
To get started, navigate to the project directory and execute the following commands:
yarn installyarn startThis will launch the application in development mode. You can then access it in your browser at http://localhost:3000. The page will automatically reload as you make changes, and any lint errors will be displayed in the console.
We welcome contributions to SMS Without Borders! To contribute, please follow these steps:
- Fork the repository to your GitHub account.
- Clone the forked repository to your local machine.
- Create a new branch for your feature or bug fix:
Replace
git checkout -b feature-name
feature-namewith a descriptive name for your feature or bug fix. - Make your changes and commit them with descriptive commit messages:
git commit -am "Brief description of changes" - Push your changes to your forked repository:
git push origin feature-name
- Open a pull request (PR) from your forked repository's branch to the
devbranch of the main repository.
Once your PR is opened, our team will review your changes and work with you to merge them into the dev branch.
In addition to React, we utilized the following packages to enhance functionality:
- MUI
- React Icons
Feel free to explore and contribute to make SMS Without Borders even better!
This adds a fully-featured Research & Publications page to the SMSWithoutBorders website that:
- Displays all papers, white papers, and threads in a searchable, filterable grid
- Lets non-developers add new papers by only editing one JSON file — no React code needed
- Supports search by title, topic, author, or keyword
- Supports filtering by type (whitepaper / research / thread), year, and topic tags
- Links directly to PDFs (Google Drive, arXiv, etc.)
src/
data/
papers.json
pages/
ResearchPage.jsx
All papers live in src/data/papers.json. To add a new paper:
- Open
src/data/papers.jsonin any text editor or directly on GitHub (click the file → pencil icon to edit) - Copy this template and paste it before the last
]:
{
"id": "7",
"title": "Your Paper Title Here",
"authors": ["First Author", "Second Author"],
"abstract": "A short summary of the paper (2-4 sentences).",
"topics": ["Topic1", "Topic2", "Topic3"],
"type": "whitepaper",
"year": 2025,
"pdfUrl": "https://link-to-pdf-or-google-drive.com/...",
"thumbnail": null
}- Save / commit the file
- The website will automatically show the new paper
| Field | Required | Options / Notes |
|---|---|---|
id |
Yes | Unique string number (increment from last entry) |
title |
Yes | Full paper title |
authors |
Yes | Array of author name strings |
abstract |
Yes | 1–4 sentence summary shown on the card |
topics |
Yes | Array of topic tags (used for filtering); use existing ones or new |
type |
Yes | "whitepaper", "research", or "thread" |
year |
Yes | Publication year as a number, e.g. 2024 |
pdfUrl |
Yes | Full URL to PDF, Google Drive view link, or arXiv. "" = Coming Soon |
thumbnail |
No | Path to a cover image (optional, leave null if not used) |
For Google Drive, use the viewer link format:
https://drive.google.com/file/d/FILE_ID/view
This opens an in-browser reader, which works perfectly with the "Read Paper" button.
If you want papers to open in an embedded reader within the website instead of a new tab, we can add a modal with react-pdf. Let us know!