Skip to content

Rust-based Chrome extension and serverless backend for syncing AtCoder Daily Training submissions with AtCoder Problems using optimized DynamoDB architecture

License

yiwiy9/atcoder-problems-adt-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AtCoder Problems ADT Sync

A Rust-based Chrome extension and backend system that integrates AtCoder Daily Training (ADT) submissions into AtCoder Problems for unified problem-solving progress visualization.

📥 Install from Chrome Web Store

Overview

AtCoder Daily Training (ADT) is a practice contest series on AtCoder using past problems, but its submission data is isolated from AtCoder Problems. This project bridges that gap by automatically synchronizing ADT submission data and displaying it seamlessly within the AtCoder Problems interface.

Demo

AtCoder Problems "Table" tab with the extension:

  • OFF (default): only native AC submissions are highlighted
  • ON: ADT submissions are also highlighted in green

Architecture

Chrome Extension ──► Backend API ──► DynamoDB
(Rust + WASM)        (AWS Lambda)      (User AC Data)
       │                               ▲
       │                               │
       ▼                               │
AtCoder Problems                Batch Processor
   Website                    (AtCoder Scraper)

Project Structure

  • wasm-extension/: Chrome extension (Rust + WebAssembly)
  • backend/: AWS Lambda backend with Rust
    • api/: REST API for Chrome extension
    • batch/: Data crawling and processing
    • ddb_client/: DynamoDB operations library (📊 Architecture & Cost Analysis)
    • atcoder_client/: AtCoder web scraping client

Technology Stack

  • Frontend: Rust + WebAssembly (wasm-bindgen)
  • Backend: Rust + AWS Lambda (Axum)
  • Data: DynamoDB, AtCoder scraping (reqwest, scraper)
  • Tools: cargo-lambda, wasm-pack, Docker

License

MIT License

About

Rust-based Chrome extension and serverless backend for syncing AtCoder Daily Training submissions with AtCoder Problems using optimized DynamoDB architecture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages