Skip to content

codecheckers/buddy-exchange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CODECHECK Buddy Exchange

A single page application that helps facilitate the "give one get one" principle of the buddy exchange by making it easy for codecheckers to find and claim issues that need reviewing.

The app queries the GitHub API to find issues labeled "buddy exchange" in the CODECHECK register repository and provides easy access to issues that currently do not have an assigned codechecker.

Features

  • 📋 Browse available buddy exchange issues
  • 🔍 View issue details, authors, and labels
  • 🎯 One-click claim functionality with instructions
  • 🔄 Auto-refresh every 5 minutes
  • 📱 Responsive design for mobile and desktop
  • 🎨 Consistent CODECHECK branding

Quick Start Local Version

  1. Download dependencies:

    npm run download-deps
  2. Start the development server:

    npm start
  3. Open your browser: Navigate to http://localhost:8000

Available Scripts

npm start

Starts a local development server on port 8000 using Python's built-in HTTP server.

npm run serve

Alternative command to start the development server (same as npm start).

npm run download-deps

Downloads all required JavaScript and CSS dependencies locally. This ensures the app works offline and doesn't rely on CDNs.

  • Downloads: jQuery 3.7.1 and Bootstrap 5.3.2
  • Run this first before starting the application

npm run download-jquery

Downloads only the jQuery library to assets/js/jquery.min.js.

npm run download-bootstrap

Downloads Bootstrap CSS and JavaScript files to the assets directory.

Deployment

This application is designed for static hosting and is fully compatible with GitHub Pages:

  1. Push your changes to the main branch
  2. Enable GitHub Pages in repository settings
  3. Set source to "Deploy from a branch" → main/ (root)
  4. Your app will be available at https://codecheck.org.uk/buddy-exchange

Data Source

The app uses the production CODECHECK register as its data source by default. For development and testing, a separate testing register is available and can be selected via a small switcher in the page footer.

Project Structure

buddy-exchange/
├── index.html                # Main entry point
├── package.json              # Project configuration
├── assets/
│   ├── css/
│   │   ├── bootstrap.min.css # Bootstrap CSS (downloaded)
│   │   └── main.css          # Custom styles
│   ├── js/
│   │   ├── jquery.min.js     # jQuery library (downloaded)
│   │   ├── bootstrap.min.js  # Bootstrap JS (downloaded)
│   │   ├── marked.min.js     # Markdown parser (downloaded)
│   │   ├── config.js         # Application configuration
│   │   ├── app.js            # Main application logic
│   │   ├── github-api.js     # GitHub API interface
│   │   └── ui.js             # UI components
│   └── images/               # Images and icons
└── README.md                 # This file

Libraries and Licenses

This project uses the following third-party libraries:

Library Version License Purpose
jQuery 3.7.1 MIT DOM manipulation and AJAX requests
Bootstrap 5.3.2 MIT CSS framework for responsive design
Marked.js 9.1.6 MIT Markdown parsing and rendering

All libraries are distributed under the MIT License, which is compatible with this project's MIT License.

Requirements

  • Python 3 (for local development server)
  • curl (for downloading dependencies)
  • Modern web browser with JavaScript enabled

License

MIT License - see LICENSE file for details.

About

single page application realising a "give one get one" exchange for CODECHECKs

Resources

License

Stars

Watchers

Forks

Contributors