{"id":27215609,"url":"https://github.com/anubislms/interviewproject","last_synced_at":"2026-02-10T23:03:37.507Z","repository":{"id":134129598,"uuid":"529330952","full_name":"AnubisLMS/InterviewProject","owner":"AnubisLMS","description":"Anubis LMS interview prompt","archived":false,"fork":false,"pushed_at":"2022-09-01T13:44:36.000Z","size":4,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-19T06:47:02.677Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnubisLMS.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":"2022-08-26T16:30:23.000Z","updated_at":"2022-08-26T16:39:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"1716ec9c-2852-46e4-b4cd-9ba4473faad6","html_url":"https://github.com/AnubisLMS/InterviewProject","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/AnubisLMS/InterviewProject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnubisLMS%2FInterviewProject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnubisLMS%2FInterviewProject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnubisLMS%2FInterviewProject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnubisLMS%2FInterviewProject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnubisLMS","download_url":"https://codeload.github.com/AnubisLMS/InterviewProject/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnubisLMS%2FInterviewProject/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29321276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T20:44:44.282Z","status":"ssl_error","status_checked_at":"2026-02-10T20:44:43.393Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-04-10T04:26:09.425Z","updated_at":"2026-02-10T23:03:37.457Z","avatar_url":"https://github.com/AnubisLMS.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"For the Anubis interviews we are giving out a little assignment to everyone so that you can flex\nyour proverbial programming muscles. You can make this as simple or as complicated as you\nwould like. Take a few days to work on this, and we can schedule an interview when you are ready.\n\nWhen you are ready to schedule an interview, email `john.cunniff@nyu.edu` or `anubis@anubis-lms.io`.\n\n# Project Proposal\n\nWe want you to create an http server that you can upload, list and download files from. You\ndon’t need to worry about authentication or anything like that. You also don’t need to worry\nabout dressing up the website with any fancy react/css elements. *Really what we want to see is\nhow you approach and solve the problem.*\n\nThis is purposefully open ended. You can use whatever framework or language you are\ncomfortable in. If you do not have a preferred framework, flask is a pretty reasonable choice.\nYou can use docker to break your system down into microservices if that is your speed. You can\neven use kubernetes to get really fancy if you would like.\n\n\u003e Use whatever tutorials, quickstarts, stackoverflow stuff you need. There is pretty much no part of\n\u003e this project that you could not find some example or forum post online for.\n\n_Do not worry about deploying this application anywhere._\n\n# But wait, there is a catch!\n\n**The only hard requirement for this project is that you store the files in a database or object store, \nnot in a filesystem.** This is a pretty standard practice when making files available in a distributed system.\nFor your database you can use something simple like sqlite, or use a database server like\npostgresql or mysql. Pretty much every database system has something along the lines of a\nBLOB or LARGEBINARY type where you can store binary data. Just make sure it can handle\nreasonably large files (let’s say at least a couple MiB).\n\nFor your database you can write the raw sql, or use something more complicated like\nsqlalchemy. We would even accept an application that uses the google sheets api as a\ndatabase! (that is a joke, plz don’t do that)\n\n\u003e Don’t overthink it!\n\n**Please do not feel obligated to learn systems or technologies that are more complicated\nthan you are comfortable with.** You could fulfill the requirements for the project with a single\npage of php.\n\nIf you cannot solve the problem in a reasonable amount of time, it is ok to reduce the\nrequirements. *This is not meant to stress you out.* If you can’t make it happen, that is OK! Just\ndo whatever you can.\n\n# The Repo\n\nCreate a repo on either github or gitlab to put your work on. If it is public or private, it does not\nmatter too much. If you do make it private, please share it with `wabscale`,\n`synoet`, and `GusSand` when you are ready to share your work. Those github usernames are for John\nCunniff, Teo Nys, and Gustavo Sandoval.\n\nThanks for your interest in working with us!! We are really excited that you can join us!!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanubislms%2Finterviewproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanubislms%2Finterviewproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanubislms%2Finterviewproject/lists"}