{"id":26296393,"url":"https://github.com/charliedigital/coderev","last_synced_at":"2025-07-21T06:34:02.968Z","repository":{"id":202653641,"uuid":"674684802","full_name":"CharlieDigital/coderev","owner":"CharlieDigital","description":"CodeRev is a lightweight tool that helps teams conduct technical interviews using code reviews.","archived":false,"fork":false,"pushed_at":"2025-02-23T00:48:50.000Z","size":6162,"stargazers_count":138,"open_issues_count":6,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-15T04:18:13.220Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://coderev.app","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CharlieDigital.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-04T14:19:57.000Z","updated_at":"2025-03-13T23:32:27.000Z","dependencies_parsed_at":"2025-02-23T01:24:36.117Z","dependency_job_id":"7927aca9-3c53-48d5-a698-c9c00927fa97","html_url":"https://github.com/CharlieDigital/coderev","commit_stats":null,"previous_names":["charliedigital/coderev"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CharlieDigital/coderev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlieDigital%2Fcoderev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlieDigital%2Fcoderev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlieDigital%2Fcoderev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlieDigital%2Fcoderev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CharlieDigital","download_url":"https://codeload.github.com/CharlieDigital/coderev/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlieDigital%2Fcoderev/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266253713,"owners_count":23900055,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-15T04:18:14.984Z","updated_at":"2025-07-21T06:33:57.956Z","avatar_url":"https://github.com/CharlieDigital.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CodeRev\n\n[Try CodeRev.app for your interviews -- it's free!](https://coderev.app)\n\nhttps://github.com/user-attachments/assets/fe3cb39b-ba8c-4539-9b5c-cf949794724b\n\nCodeRev is a lightweight tool to help you organize and conduct technical interviews using code reviews rather than leetcode.\n\n## Rationale\n\nIn the age of StackOverflow and ChatGPT, is leetcode really the best way to evaluate technical candidates?\n\n*Was it ever?*\n\nCode review as interview has many benefits for any engineering team:\n\n* Understand how candidates interact with isolated parts of your codebase.\n* Better reflects day-to-day engineering responsibilities in your team.\n* Realistic representation of how a candidate thinks and communicates.\n* Open-ended and collaborative; no black and white responses.\n\n## How it works\n\n1. Create a workspace for each of the roles you're screening for.\n2. Upload and edit your source files that you'd like the candidates to review.\n3. Add candidates; each gets a separate view of the source to work on.\n4. Candidates review the code in their workspace and provide comments and feedback.\n\n## Benefits:\n\nWhy use CodeRev? Why not just a GitHub repo?\n\n1. **Easy setup**: Lightweight, focused, and simple; just a few clicks to get started.\n2. **Isolated**: No exposure of your internal GitHub repos, accounts, and workspaces.\n3. **Collaborative**: Review candidate responses with your team and leave your own notes. (Coming soon)\n4. **Easy to compare**: See feedback from different candidates to the same code to compare. (Coming soon)\n5. **Define timed access**: Automatically release the workspace to your candidate and optionally revoke it. (Coming soon)\n\n## FAQ:\n\n* **Why did you make this tool?** I went through an interview where the process involved reviewing a snippet of code and really enjoyed the experience. I thought it would be great if there was a dedicated tool for this.\n* **What's the stack** Nuxt3 (Vue.js) + Quasar Framework + Google Cloud Firebase. Productive, fast, and more or less free.\n\n## Development\n\nDevelopment can be done locally using the Firebase CLI emulators.\n\n1. Install the Firebase CLI tooling for your platform: https://firebase.google.com/docs/cli\n2. Make a copy of `web/env.template` as `web/.env` and add your Firebase config.\n3. Start the backend\n4. Start the frontend\n\n```\n# Start the emulators in on console\ncd web\nyarn # Restore\nyarn dev\n\n# Start the backend\nfirebase emulators:start --only auth,firestore,functions,hosting,storage \\\n  --import .data/firebase --export-on-exit\n```\n\n## Deploying\n\nYou'll need a Firebase project to deploy:\n\n```\n# From web:\nyarn generate     # This will generate the static routes.\n\n# From the root:\nfirebase deploy\n\n# Deploy only the hosting (making a front-end change):\nfirebase deploy --only hosting\n```\n\nThere is also a GitHub Action which manages automatic deployment of all assets.\n\n## Using Functions Framework\n\nFunctions framework allows the SSR backend to run on the server.  However, this is currently not needed for CodeRev.\n\nTo enable, swap the `hosting` configuration:\n\n```json\n\"source\": \"web\",\n\"ignore\": [\n  \"firebase.json\",\n  \"**/.*\",\n  \"**/node_modules/**\"\n],\n\"frameworksBackend\": {\n  \"region\": \"us-central1\"\n}\n```\n\n## Setting up CORS for Storage\n\nStorage requires that you set up CORS when using a custom domain.\n\nCreate the bucket `source.coderev.app` and then follow this guide: https://cloud.google.com/storage/docs/using-cors\n\nInstead of doing it from the command line, you can use the Cloud Shell in console and open an editor in browser.\n\nCreate a file `cors.json`\n\n```json\n[\n  {\n    \"origin\": [\"https://coderev.app\"],\n    \"method\": [\"GET\"],\n    \"responseHeader\":[\n        \"Access-Control-Allow-Origin\"\n      ],\n    \"maxAgeSeconds\": 3600\n  }\n]\n```\n\nFrom the console, run:\n\n```\ngcloud storage buckets update gs://source.coderev.app --cors-file=cors.json\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharliedigital%2Fcoderev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcharliedigital%2Fcoderev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharliedigital%2Fcoderev/lists"}