Ah 03 01

C 61 completed
web_app / typescript · small
318
Files
32,992
LOC
4
Frameworks
10
Languages

Pipeline State

completed
Run ID
#1745007
Phase
done
Progress
0%
Started
2026-05-17 16:01:13
Finished
2026-05-17 16:01:13
LLM tokens
0

Pipeline Metadata

Stage
Secured
Decision
pending
Novelty
Framework unique
Isolation
Last stage change
2026-05-17 16:02:55
Open data scored by Repobility · https://repobility.com

Quality Score

C
60.8/100
Structure
57
Code Quality
82
Documentation
42
Testing
50
Practices
62
Security
57
Dependencies
90

Strengths

  • Code linting configured (eslint, ruff (possible))
  • Containerized deployment (Docker)

Weaknesses

  • No LICENSE file — legal ambiguity for contributors
  • No CI/CD configuration — manual testing and deployment
  • Potential hardcoded secrets in 13 files
  • 3194 duplicate lines detected — consider DRY refactoring
  • 2 'god files' with >500 LOC need decomposition

Recommendations

  • Set up CI/CD (GitHub Actions recommended) to automate testing and deployment
  • Add a LICENSE file (MIT recommended for open source)
  • Move hardcoded secrets to environment variables or a secrets manager
  • Address 33 TODO/FIXME items — consider tracking them as issues

Languages

typescript
53.7%
python
33.4%
yaml
10.3%
markdown
0.9%
shell
0.8%
toml
0.3%
json
0.2%
css
0.2%
javascript
0.1%
sql
0.0%

Frameworks

FastAPI React Next.js pytest

Symbols

variable1,095
function538
method293
constant223
class171
interface153
type_alias54
property2

API Endpoints (68)

Repobility analysis · methodology at https://repobility.com/research/
MethodPathHandlerFramework
Repobility · MCP-ready · https://repobility.com
POSTupload_filePython
GETget_challenge_recommendationsPython
GETget_challenge_summaryPython
POSTcheck_attendancePython
GETget_attendance_monthPython
GETlist_challenge_categoriesPython
POSTcreate_challengePython
GETlist_challengesPython
GETlist_inventoryPython
GETlist_verificationsPython
GETlist_health_recordsPython
POSTcreate_petPython
GETlist_predictionsPython
POSTcreate_predictionPython
GETget_health_reportPython
POSTcreate_health_recordPython
POSTcreate_verificationPython
DELETE/api/v1/users/meapiClient.deleteExpress
POST/api/v1/users/me/passwordapiClient.postExpress
GET/{challenge_id}get_challengePython
PATCH/{challenge_id}update_challengePython
DELETE/{challenge_id}delete_challengePython
POST/{challenge_id}/participantsparticipant_actionPython
GET/{challenge_id}/participantslist_participantsPython
DELETE/{challenge_id}/participantsleave_challengePython
PATCH/{challenge_id}/participants/{target_user_id}respond_to_pendingPython
GET/check-emailcheck_email_availablePython
GET/check-nicknamecheck_nickname_availablePython
POST/claimsclaim_rewardPython
GET/faqslist_faqsPython
GET/{file_id}get_file_metaPython
PATCH/{invitation_id}respond_to_invitationPython
GETinvitesearchParams.getExpress
GET/itemslist_store_itemsPython
POST/loginloginPython
PATCH/meupdate_my_petPython
PATCH/meupdate_user_me_infoPython
GET/meuser_me_infoPython
GET/meget_my_petPython
POST/me/growth-eventsgrow_petPython
POST/me/interactionsinteract_with_petPython
POST/me/passwordchange_my_passwordPython
POST/messagessend_chat_messagePython
GET/{prediction_id}/explanationsget_prediction_explanationPython
GET/{prediction_id}/risk-recommendationsget_risk_recommendationPython
POST/purchasespurchase_itemPython
PATCH/{record_id}update_health_recordPython
GET/{record_id}get_health_recordPython
DELETE/{record_id}delete_health_recordPython
GET/searchsearch_usersPython

Showing 50 of 68

Quality Timeline

1 quality score recorded.

View File Metrics

Embed Badge

Add to your README:

![Quality](https://repos.aljefra.com/badge/1600870.svg)
Quality BadgeSecurity Badge
Export Quality CSVDownload SBOMExport Findings CSV