{"id":20822683,"url":"https://github.com/123mwanjemike/mflix","last_synced_at":"2026-04-20T22:08:53.887Z","repository":{"id":49603939,"uuid":"362783117","full_name":"123MwanjeMike/mflix","owner":"123MwanjeMike","description":"MongoDB for JavaScript Developers Course Project","archived":false,"fork":false,"pushed_at":"2021-06-12T10:28:19.000Z","size":2734,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-27T08:27:02.900Z","etag":null,"topics":["course-project","javascript","mongoatlas","mongodb","movie-database","movies","pet-project","practice-project"],"latest_commit_sha":null,"homepage":"https://mmflix.herokuapp.com","language":"JavaScript","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/123MwanjeMike.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}},"created_at":"2021-04-29T10:46:38.000Z","updated_at":"2023-06-27T18:10:21.000Z","dependencies_parsed_at":"2022-09-22T02:51:22.377Z","dependency_job_id":null,"html_url":"https://github.com/123MwanjeMike/mflix","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/123MwanjeMike/mflix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/123MwanjeMike%2Fmflix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/123MwanjeMike%2Fmflix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/123MwanjeMike%2Fmflix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/123MwanjeMike%2Fmflix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/123MwanjeMike","download_url":"https://codeload.github.com/123MwanjeMike/mflix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/123MwanjeMike%2Fmflix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32067730,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T21:26:33.338Z","status":"ssl_error","status_checked_at":"2026-04-20T21:26:22.081Z","response_time":94,"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":["course-project","javascript","mongoatlas","mongodb","movie-database","movies","pet-project","practice-project"],"created_at":"2024-11-17T22:15:45.788Z","updated_at":"2026-04-20T22:08:53.848Z","avatar_url":"https://github.com/123MwanjeMike.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mflix\nMongoDB for Javascript Developers Course Project\n\n=====\nMflix\n=====\n\nThis is a short guide on setting up the system and environment dependencies\nrequired for the MFlix application to run.\n\n**Disclaimer:** The dependencies and versions in this project are not\nmaintained. This project is intended for educational purposes and is **not**\nintended to be exposed in a network, so use at your own discretion.\n\nProject Structure\n-----------------\n\nDownloading the **mflix-js.zip** handout may take a few minutes. Unzipping the\nfile should create a new directory called **mflix-js**.\n\nMost of your work will be implementing methods in the **dao** directory, which\ncontains all database interfacing methods. The API will make calls to Data\nAccess Objects (DAOs) that interact directly with MongoDB.\n\nThe unit tests in **test** will test these database access methods directly,\nwithout going through the API. The UI will run these methods in integration\ntests, and therefore requires the full application to be running.\n\nThe lesson handouts can be found in the **test/lessons** directory. These files\nwill look like **\u003clesson-name\u003e.spec.js**, and can be run with ``npm test -t\n\u003clesson-name\u003e``.\n\nThe API layer is fully implemented, as is the UI. The application is programmed\nto  run on port **5000** by default - if you need to run on a port other than\n5000, you can edit the **dotenv_win** (if on Windows) or the **dotenv_unix** file\n(if on Linux or Mac) in the root directory to modify the value of **PORT**.\n\nPlease do not modify the API layer in any way, under the **mflix-js/src/api**\ndirectory. This may result in the front-end application failing to validate some\nof the labs.\n\n\nNode Library Dependencies\n-------------------------\n\nThe dependencies for the MFlix application should be downloaded using the\n``npm`` command-line tool. You can get this tool by `downloading Node.js\n\u003chttps://nodejs.org/en/download/\u003e`_. Make sure to choose the correct option for\nyour operating system.\n\nOnce the installation is complete, you may need to restart your computer before\nusing the command line tools. You can test that it's installed by running the\nfollowing command:\n\n.. code-block:: sh\n\n  node -v\n\nThis should print out the version of ``node`` you currently have - we recommend\nusing the latest Long Term Support version, currently 10.16.3, so this command should print something like\n``v10.16.3``.\n\nOnce ``npm`` is installed, you can install the MFlix dependencies by running the\nfollowing command from the **mflix-js** directory:\n\n.. code-block:: sh\n\n  npm install\n\nYou must run this from the top level of the project, so ``npm`` has access to\nthe **package.json** file where the dependencies are.\n\nYou may see warnings depending on your operating system from **fsevents** or\nHusky warning about **git** missing. These are informational only and do not\nimpact the functionality of the application. You can safely ignore them.\n\nYou may also get a **node-gyp** error. Run ``npm rebuild`` and it should resolve\nthis and install the dependencies required.\n\nWhile running ``npm install``, you might encounter the below error regarding ``node-gyp rebuild``.\nAlthough, it is completely harmless and you can start the application by running ``npm start``.\n\n.. image:: https://s3.amazonaws.com/university-courses/m220/m220js-npm-install-warning.png\n\n\nRunning the Unit Tests\n----------------------\n\nTo run the unit tests for this course, you will use `Jest\n\u003chttps://jestjs.io/docs/en/getting-started\u003e`_. Jest has been included in this\nproject's dependencies, so ``npm install`` should install everything you need.\n\nEach course lab contains a module of unit tests that you can call individually\nwith ``npm test``. For example, to run the test **connection-pooling.test.js**,\nrun the command:\n\n.. code-block:: sh\n\n  npm test -t connection-pooling\n\nEach ticket will contain the exact command to run that ticket's specific unit\ntests. You can run these commands from anywhere in the **mflix-js** project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F123mwanjemike%2Fmflix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F123mwanjemike%2Fmflix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F123mwanjemike%2Fmflix/lists"}