Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/meraf00/a2sv-companion
A2SV Companion: Streamlined web browser extension for A2SV students. Simplify LeetCode, Codeforces, and other DSA platform question submissions to GitHub and A2SV with ease.
https://github.com/meraf00/a2sv-companion
Last synced: about 2 months ago
JSON representation
A2SV Companion: Streamlined web browser extension for A2SV students. Simplify LeetCode, Codeforces, and other DSA platform question submissions to GitHub and A2SV with ease.
- Host: GitHub
- URL: https://github.com/meraf00/a2sv-companion
- Owner: meraf00
- Created: 2023-12-29T20:12:35.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-24T22:34:03.000Z (12 months ago)
- Last Synced: 2024-01-24T23:36:38.206Z (12 months ago)
- Language: TypeScript
- Size: 123 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# A2SV Companion
## Build
- Clone the repo and run `npm install` to install the dependencies
- `npm run build`
- Load the extension from `dist` folder
- Zip the content of `dist` folder for deployment## Overview
- Repo for the [A2SV Companion backend](https://github.com/meraf00/a2sv-companion-backend)
### Authentication
- Uses github oatuh web application flow to authenticate user
- Companion initiates the authentication flow by redirecting the user to the github oauth page
- A2SV-backend handles the authentication and returns the access token
- Companion uses retured github access token### Content
- Anything related to injection/parsing of content
- Separeted by the platform
- auth for parsing responses of the backend
- leetcode, codeforces.. for parsing respective website### Lib
- Anything related to platform specific api requests
- Separeted by the platform
- leetcode, codeforces.. for platform specific api requests
- github for github api requests
- a2sv for a2sv api requests (backend is hosted [here](a2sv-companion-backend.vercel.app))### services.ts and Services
- Services are the main entry point for the companion background scripts
- Background scripts, separated by platform are found in services folder### scripts.ts
- For message coordination between content and services, the `from` field is used to identify the `sender`
### main.ts and style.css
- Popup script and css
### update.py
- Script to update the extension when a new version is released
- New release is hosted at [here](https://a2sv.pythonanywhere.com/download)## Project Structure
```
├── public
│ ├── icons
│ ├── index.html
│ ├── manifest.json
│ ├── update.py
|
├── src
│ ├── content
│ │ ├── codeforces
│ │ ├── leetcode
│ │ ├── auth.content.ts
│ │ ├── leetcode.content.ts
│ │ ├── codeforces.content.ts
│ │
│ ├── lib
│ │ ├── codeforces
│ │ ├── leetcode
│ │ ├── github
│ │ ├── a2sv
│ │
│ ├── services
│ │ ├── auth.services.ts
│ │ ├── leetcode.services.ts
│ │ ├── codeforces.services.ts
│ │
│ ├── utils
│ │
│ ├── config.ts
│ ├── event.ts
│ ├── main.ts
│ ├── scripts.ts
│ ├── services.ts
│ ├── style.css
```