A simple, GitHub Pages-hosted web application for managing research paper reading groups. This system allows lab members to upload papers, schedule discussions, and maintain an organized repository of research materials.
- π€ Paper Upload: Web interface for uploading research papers
- π Schedule Management: Visual calendar and list views of paper discussions
- π Track Organization: Separate tracks for discussion papers, reference materials, and archived content
- π Search & Browse: Searchable paper database with filtering capabilities
- π GitHub Authentication: Secure access using GitHub OAuth
- π€ Automated Workflows: GitHub Actions for paper management and deployment
- π± Responsive Design: Mobile-friendly interface
- Static HTML/CSS/JavaScript hosted on GitHub Pages
- Modern, responsive design with Font Awesome icons
- Client-side search and filtering
- GitHub OAuth integration for authentication
- GitHub repository for paper storage and version control
- JSON files for schedule and configuration data
- GitHub Actions workflows for automation
- GitHub Pages for free hosting
- Github Actions for authentication see this example repo for more details
βββ index.html # Homepage with next paper and overview
βββ upload.html # Paper upload interface
βββ browse.html # Paper browsing and search
βββ schedule.html # Schedule management and calendar
βββ papers/ # PDF storage by track
β βββ discussion/ # Papers scheduled for discussion
β βββ reference/ # Reference and background papers
β βββ archived/ # Previously discussed papers
βββ schedule/
β βββ schedule.json # Meeting schedule data
βββ tracks/
β βββ config.json # Track configuration and settings
βββ src/
β βββ css/styles.css # Main stylesheet
β βββ js/ # JavaScript modules
βββ .github/workflows/ # GitHub Actions automation
βββ README.md
- GitHub repository with Pages enabled
- GitHub OAuth App (for authentication)
- Basic knowledge of GitHub Actions
-
Fork or Clone this repository
git clone https://github.com/yourusername/agents-group-papers.git cd agents-group-papers -
Enable GitHub Pages
- Go to Settings β Pages in your GitHub repository
- Select "Deploy from a branch"
- Choose "main" branch and "/ (root)" folder
- Save the settings
-
Configure GitHub OAuth (Optional but recommended)
- Go to GitHub Settings β Developer settings β OAuth Apps
- Create a new OAuth App
- Set Authorization callback URL to:
https://yourusername.github.io/agents-group-papers/ - Update
src/js/auth.jswith your Client ID
-
Customize Configuration
- Edit
tracks/config.jsonto match your group's needs - Update group name, meeting times, and track settings
- Modify initial schedule in
schedule/schedule.json
- Edit
-
Deploy
- Push changes to the main branch
- GitHub Actions will automatically deploy to Pages
- Navigate to the Upload page
- Log in with GitHub (if authentication is enabled)
- Fill out the paper details:
- Title and authors
- Track (discussion, reference)
- Description and discussion date
- Upload PDF file
- Submit - the paper will be automatically committed to the repository
- Go to the Schedule page
- View upcoming discussions in list or calendar format
- Add papers to the discussion schedule
- Export schedule to calendar applications
- Use the Browse page to search through all papers
- Filter by track or search by title/author
- Download papers directly from the interface
- View paper details and discussion information
- Edit
src/css/styles.cssto customize the appearance - The design uses CSS Grid and Flexbox for responsive layout
- Color scheme and fonts can be easily modified
- JavaScript modules in
src/js/handle different page functionality api.jsmanages data operations and GitHub integrationauth.jshandles GitHub OAuth authentication- Each page has its own JavaScript file for specific features
- Modify
tracks/config.jsonto add or change paper categories - Each track has configurable name, description, color, and icon
- Add new tracks by creating folders in
papers/directory
- Triggered by web interface or manually
- Commits PDF files to appropriate directories
- Updates schedule JSON with new paper metadata
- Supports all paper tracks and metadata
- Manages schedule changes and paper status updates
- Moves papers between tracks (e.g., reference β discussion)
- Updates presenter information and dates
- Archives completed discussions
- Automatically deploys to GitHub Pages on push to main
- Builds and publishes the static site
- Handles all assets and file routing
{
"schedule": [
{
"id": "unique-identifier",
"date": "2025-06-20",
"title": "Paper Title",
"authors": "Author Names",
"track": "discussion",
"presenter": "Presenter Name",
"filename": "paper_file.pdf",
"status": "upcoming",
"description": "Paper description"
}
],
"lastUpdated": "2025-06-13"
}{
"tracks": {
"discussion": {
"name": "Discussion Papers",
"description": "Papers scheduled for group discussion",
"color": "#3b82f6",
"icon": "π¬"
}
},
"settings": {
"groupName": "AI Agents Research Group",
"meetingDay": "Friday",
"meetingTime": "2:00 PM"
}
}- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source and available under the MIT License.
For questions or issues:
- Check the Issues page
- Create a new issue with detailed description
- Contact the maintainers
Built with β€οΈ for research communities using GitHub Pages and Actions.