Commit Graph

95 Commits

Author SHA1 Message Date
Aravinth Manivannan 802bf71325
feat: reuse
ci/woodpecker/push/woodpecker Pipeline failed Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
2023-11-01 17:12:16 +05:30
Aravinth Manivannan f17e38c531
fix: dont use mod db while migrating with tests-migrate
ci/woodpecker/push/woodpecker Pipeline is pending Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
2023-10-20 02:57:47 +05:30
Aravinth Manivannan dfa83b1031
feat: offline sqlx data
ci/woodpecker/push/woodpecker Pipeline failed Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
2023-10-20 01:49:26 +05:30
Aravinth Manivannan 5e7d1cae65
feat: schedule download jobs on reqs from mCaptcha/mCaptcha 2023-10-20 01:42:54 +05:30
Aravinth Manivannan 3e5dca9069
feat: clean up auth method and include hostname in scheduler ctx 2023-10-20 01:41:46 +05:30
Aravinth Manivannan c8ecd29e94
feat: job runner to execute download requests from mCaptcha/mCaptcha 2023-10-20 01:40:32 +05:30
Aravinth Manivannan c0a125d5f1
feat: add db methods to manage scheduled jobs and their states 2023-10-19 22:11:31 +05:30
Aravinth Manivannan 6b93524027
feat: schedule and record job states. Create job states during migration 2023-10-19 11:29:59 +05:30
Aravinth Manivannan b5b83b955a
fix: make archive shutdown responsive
ci/woodpecker/push/woodpecker Pipeline failed Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
2023-10-19 10:10:33 +05:30
Aravinth Manivannan 3c445411e9
fix: update parameters to mCaptcha/mCaptcha 2023-10-19 09:55:00 +05:30
Aravinth Manivannan 786a9afe22
feat: routes to accept analytics from mCaptcha/mCaptcha 2023-10-18 10:28:50 +05:30
Aravinth Manivannan cdbf6788f0
feat: HTTP client to talk to mCaptcha/mCaptcha 2023-10-18 10:28:50 +05:30
Aravinth Manivannan 8e0e94f98b
feat: DB methods to save analytics from mCaptcha/mCaptcha 2023-10-18 10:28:48 +05:30
Aravinth Manivannan fb472ed6c6
chore: update deps, docker img and woodpecker ci def 2023-10-17 22:30:19 +05:30
Aravinth Manivannan b8e52ff82a
feat: add export page 2023-03-14 15:51:53 +05:30
Aravinth Manivannan 1e33e5303a
feat: serve files from export dir 2023-03-14 15:51:46 +05:30
Aravinth Manivannan 740b1a331e
feat: get all campaigns on an instance 2023-03-14 15:50:27 +05:30
Aravinth Manivannan a3f2c3632e
feat: publish benchmark data periodically (configurable)
ci/woodpecker/push/woodpecker Pipeline failed Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
2023-03-12 20:11:06 +05:30
Aravinth Manivannan 9411c2ba9f
feat: read publication dir config and serve it 2023-03-12 20:10:40 +05:30
Aravinth Manivannan d2c52cc62c
feat: cleanup archiver and include tests 2023-03-08 17:38:24 +05:30
Aravinth Manivannan 604fca0a62
feat: archive campaign and benchmark data
DESCRIPTION
    FORMATS
	- Campaign configuration is stored in JSON format
	- Benchmark data is stored in CSV format

    DIRECTORY STRUCTURE
	Each campaign gets a separate directory. A campaign can have
	multiple archives. Archives are stored in directories whose names
	would be the same as the UNIX timestamp of when they were
	recorded.

	EXAMPLE
	    The example below shows three campaigns with one archive
	    each. Each archive is stored in a directory denoting the
	    moment in which the archive was generated. Each archive
	    includes campaign configuration and benchmark.

	    ```bash
		14:53 atm@lab archive → tree
		.
		├── 4e951e01-71ee-4a18-9b97-782965495ae3
		│   └── 1675329764
		│       ├── benchmark.csv
		│       └── challenge.json
		├── 9d16df08-dffc-484e-bbe2-10c00b431c7e
		│   └── 1675329764
		│       ├── benchmark.csv
		│       └── challenge.json
		└── fa9f7c24-afec-4505-adb9-8e0c3ce54d37
		    └── 1675329764
			├── benchmark.csv
			└── challenge.json

		7 directories, 6 files
		```
2023-03-08 17:36:45 +05:30
Aravinth Manivannan a44f6f1748
feat: add archive base_path in settings 2023-03-08 17:36:45 +05:30
Aravinth Manivannan 9e153b22ca
fix: update sqlx and fix container build
ci/woodpecker/push/woodpecker Pipeline was successful Details
closes: #14
2023-02-14 17:25:27 +05:30
Aravinth Manivannan 92ab34967d
feat: display filtered (wasm, js and all) filtered benchmarks 2023-02-02 00:30:51 +05:30
Aravinth Manivannan 9d128033ac
feat: fetch and test filtered benchmark results. 2023-02-02 00:29:52 +05:30
Aravinth Manivannan 1a466bbd3c
feat: display benchmark type 2023-02-01 18:19:06 +05:30
Aravinth Manivannan 0fa21911f0
feat: submit and store benchmark type 2023-02-01 18:18:50 +05:30
Aravinth Manivannan 94eb76c188
feat: show timestamp in results page 2023-02-01 15:27:26 +05:30
Aravinth Manivannan 21ff6741a0
feat: add timestamp to benchmark submissions 2023-02-01 15:26:58 +05:30
Aravinth Manivannan 6bce9877ab
feat: link to results page from admin campaign list page 2023-01-26 20:58:53 +05:30
Aravinth Manivannan ab3d496bca
feat: show campaign results in web UI 2023-01-26 20:58:32 +05:30
Aravinth Manivannan 79bd99d398
fix: page title 2023-01-26 20:58:07 +05:30
Aravinth Manivannan 82bb2f327a
chore: get page helper method 2023-01-26 20:57:38 +05:30
Aravinth Manivannan c576487333
fix: store and get submission ID
DESCRIPTION
    If the same survey_user submits the survey many times, their first
    submission ID was being used to record benchmarks from their future
    submissions. Which resulted in submissions with empty benchmarks.

    This patch gets the submission ID as the record is being created and
    records benches using that. Bug fix and one less query.
2023-01-26 20:55:23 +05:30
Aravinth Manivannan 0ac915b426
feat: REST API endpoint to return survey campaign results 2023-01-26 19:07:48 +05:30
Aravinth Manivannan aa63783794
feat: list survey responses per campaign 2023-01-26 18:25:52 +05:30
Aravinth Manivannan f6030577a0
fix: upload difficulty via web form 2023-01-26 18:25:22 +05:30
Aravinth Manivannan 6b608c6677
feat: finish porting pages to tera. Fix tests 2023-01-24 23:31:04 +05:30
Aravinth Manivannan b874c17362
feat: port panel to tera 2023-01-24 23:29:58 +05:30
Aravinth Manivannan 8e6a3afb4c
feat: port new campaign page to tera 2023-01-24 23:29:47 +05:30
Aravinth Manivannan e5bf7feebe
feat: port benchmark page to tera 2023-01-24 23:29:17 +05:30
Aravinth Manivannan 82d293a159
feat: port delete campaign to tera 2023-01-24 23:28:57 +05:30
Aravinth Manivannan 599777cbf3
feat: port list campaigns to tera 2023-01-24 23:28:22 +05:30
Aravinth Manivannan 67d50a3d80
feat: rm gift and port about page to tera 2023-01-24 23:27:43 +05:30
Aravinth Manivannan 9f0d38ab07
feat: define campaign doesnt exist error type 2023-01-24 23:00:08 +05:30
Aravinth Manivannan d2f266c689
feat: port login page to tera 2023-01-24 19:25:56 +05:30
Aravinth Manivannan c645bf83a3
feat: port join page to tera 2023-01-24 19:25:23 +05:30
Aravinth Manivannan 9a15e11c5d
feat: port error component to tera 2023-01-24 19:24:18 +05:30
Aravinth Manivannan fe584190f5
feat: bootstrap tera 2023-01-24 19:23:29 +05:30
Aravinth Manivannan 29a5e065aa
feat: use settings from app context 2023-01-24 19:22:19 +05:30