{"id":19155367,"url":"https://github.com/goyalyatin/mean-website-backend","last_synced_at":"2026-04-07T20:33:42.139Z","repository":{"id":44499039,"uuid":"201627896","full_name":"GoyalYatin/MEAN-Website-Backend","owner":"GoyalYatin","description":"Backend application written using MEAN stack","archived":false,"fork":false,"pushed_at":"2022-12-10T05:33:17.000Z","size":332,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-07T06:54:08.660Z","etag":null,"topics":["expressjs","mean-stack","mongoose","nodejs","webservice"],"latest_commit_sha":null,"homepage":"","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/GoyalYatin.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":"2019-08-10T12:34:02.000Z","updated_at":"2019-11-09T19:05:47.000Z","dependencies_parsed_at":"2023-01-25T22:00:54.438Z","dependency_job_id":null,"html_url":"https://github.com/GoyalYatin/MEAN-Website-Backend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GoyalYatin/MEAN-Website-Backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoyalYatin%2FMEAN-Website-Backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoyalYatin%2FMEAN-Website-Backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoyalYatin%2FMEAN-Website-Backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoyalYatin%2FMEAN-Website-Backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoyalYatin","download_url":"https://codeload.github.com/GoyalYatin/MEAN-Website-Backend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoyalYatin%2FMEAN-Website-Backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31528620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["expressjs","mean-stack","mongoose","nodejs","webservice"],"created_at":"2024-11-09T08:29:49.696Z","updated_at":"2026-04-07T20:33:42.107Z","avatar_url":"https://github.com/GoyalYatin.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MEAN-Website-Backend\nExperimental Backend application written using MEAN stack.\n\nFrontend application is written in [MEAN-Website-Frontend](https://github.com/GoyalYatin/MEAN-Website-Frontend) repo.\n\n## Index\n- [Todo API](#todo)\n- [Architecture](#arch)\n- [Setup](#setup)\n    - [Environment Setup](#env)\n    - [Database Setup](#db)\n    - [Project Setup](#project)\n- [Testing the API](#test)\n    - [Insert API](#insert)\n    - [Get API](#get)\n    - [Update API](#update)\n    - [Delete API](#delete)\n- [Reference](#ref)\n- [License](#license)\n\n## \u003ca name=\"todo\"\u003e\u003c/a\u003eTodo Api\nA simple todo API made with NodeJS, ExpressJS and MongoDB. Can be used as a back-end for learning front-end technologies without making a standalone API for that purpose.\n\n## \u003ca name=\"arch\"\u003e\u003c/a\u003eArchitecture\n![Highlevel](doc/highlevel.png)\n\nAbove picture describes how the applications are positioned. This is high level flow.\n\nTesting is done manually using postman for backend application and manually via UI for frontend application. Postman is used to trigger webservice calls. The tests can be automated using Robot framework's requests and ui testing libraries.\n\n![Lowlevel](doc/lowlevel.png)\n\nThis picture describes the sequence of the calls, this is low level design for this complete application, this repo only consist of backend side, along with mongoDb setup scipts. \n\n\n## \u003ca name=\"setup\"\u003e\u003c/a\u003eSetup\n#### \u003ca name=\"env\"\u003e\u003c/a\u003eEnvironment Setup\n- First go here — https://nodejs.org/en/download/ and Install NodeJS.\n- Download and Install MongoDB — https://www.mongodb.com/download-center#community\n- Download a good Text Editor or IDE. I Personally prefer Visual Studio Code — https://code.visualstudio.com/download\n\n\nNow the environment Setup is done. Let’s get into the command line.\n\nFirst we need to install ExpressJS. The most popular NodeJS Framework.\n\n```\nnpm install -g express express-generator\n```\n\nThis will install ExpressJS and the ExpressJS Official generator packages. Now let’s generate the Application using the Express Generator.\n\n```\nexpress --view=ejs todoapp\n```\n\nNow the express App is generated. Go inside the directory.\n\n````\ncd todoapp\nnpm install\n````\nAll the necessary packages will be installed.\nAt first let’s install all the necessary packages we will be using throughout this app.\n\n````\nnpm install --save bluebird mongoose mongoose-paginate nodemon\n````\n\n#### \u003ca name=\"db\"\u003e\u003c/a\u003eDatabase Setup\n\nDownload and install MogoDB.\nMake sure that the database is running at `127.0.0.1:27017`\nDB name `todoapp` should be available\n\n\n#### \u003ca name=\"project\"\u003e\u003c/a\u003eProject Setup\n\nNow run `cd todo-api` to go inside the directory\n\nRun `npm install` to install all the dependencies.\n\nRun `npm install -g nodemon` to install Nodemon Globally.\n\nRun `npm start` to run the NodeJS Server.\n\n## \u003ca name=\"test\"\u003e\u003c/a\u003eTesting the API \n\n#### \u003ca name=\"insert\"\u003e\u003c/a\u003eInsert API\nThis is a POST call\n\nURL - `http://localhost:3000/api/todos`\n\nCall Parameters\n- title\n- description\n- status\n\nURL with parameters - `http://localhost:3000/api/todos?title=Test1\u0026description=Testing the insert api\u0026status=pending`\n\n#### \u003ca name=\"get\"\u003e\u003c/a\u003eGet API\nThis is a Get call\n\nURL - `http://localhost:3000/api/todos`\n\n#### \u003ca name=\"update\"\u003e\u003c/a\u003eUpdate API\nThis is a Put call\n\nURL - `http://localhost:3000/api/todos`\n\nURL with parameters - `http://localhost:3000/api/todos?title=Test1\u0026description=Testing the insert api\u0026status=pending\u0026_id=5d5926c8356670fb053ee5ea`\n\n#### \u003ca name=\"delete\"\u003e\u003c/a\u003eDelete API\nThis is a Delete call\n\nURL - `http://localhost:3000/api/todos`\n\nURL with parameters - `http://localhost:3000/api/todos/5d5926c8356670fb053ee5ea`\n\n## \u003ca name=\"ref\"\u003e\u003c/a\u003eReference\nThis is learning project inspired from\nhttps://medium.com/netscape/mean-app-tutorial-with-angular-4-part-1-18691663ea96\n\n## \u003ca name=\"license\"\u003e\u003c/a\u003eLicense\n[MIT](LICENSE) License","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoyalyatin%2Fmean-website-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoyalyatin%2Fmean-website-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoyalyatin%2Fmean-website-backend/lists"}