{"id":27430193,"url":"https://github.com/the2alert/contacts-app","last_synced_at":"2026-07-07T00:31:04.664Z","repository":{"id":143788441,"uuid":"527675621","full_name":"The2Alert/contacts-app","owner":"The2Alert","description":null,"archived":false,"fork":false,"pushed_at":"2022-08-22T18:06:59.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-14T14:58:55.667Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/The2Alert.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}},"created_at":"2022-08-22T17:55:40.000Z","updated_at":"2022-08-22T17:59:15.000Z","dependencies_parsed_at":"2024-03-08T12:27:48.364Z","dependency_job_id":null,"html_url":"https://github.com/The2Alert/contacts-app","commit_stats":null,"previous_names":["the2alert/contacts-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/The2Alert/contacts-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The2Alert%2Fcontacts-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The2Alert%2Fcontacts-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The2Alert%2Fcontacts-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The2Alert%2Fcontacts-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/The2Alert","download_url":"https://codeload.github.com/The2Alert/contacts-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The2Alert%2Fcontacts-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259688643,"owners_count":22896453,"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-04-14T14:32:13.768Z","updated_at":"2026-07-07T00:31:04.620Z","avatar_url":"https://github.com/The2Alert.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eContacts App\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/68344264/185988061-e148ace3-759e-41f4-a849-6d1ac3f85745.png\" width=\"80%\" /\u003e\n\u003c/p\u003e\n\u003ch2\u003eInstalling\u003c/h2\u003e\n\u003cp\u003ePreliminary requirements:\u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://nodejs.org/\"\u003eNode.js\u003c/a\u003e \u003e= \u003ccode\u003e16.14.2\u003c/code\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://www.npmjs.com/\"\u003enpm\u003c/a\u003e \u003e= \u003ccode\u003e8.16.0\u003c/code\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://www.docker.com/\"\u003eDocker\u003c/a\u003e \u003e= \u003ccode\u003e20.10.14\u003c/code\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.docker.com/compose/\"\u003edocker-compose\u003c/a\u003e \u003e= \u003ccode\u003e1.29.2\u003c/code\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://www.gnu.org/software/make/\"\u003eGNU Make\u003c/a\u003e \u003e= \u003ccode\u003e3.81\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInstalling dependencies:\u003c/p\u003e\n\u003cpre\u003enpm i\u003c/pre\u003e\n\u003ch2\u003eBuilding\u003c/h2\u003e\n\u003cp\u003eBuilding backend:\u003c/p\u003e\n\u003cpre\u003enpm run build\u003c/pre\u003e\n\u003cp\u003eBuilding frontend:\u003c/p\u003e\n\u003cpre\u003enpm run frontend:build\u003c/pre\u003e\n\u003ch2\u003eStarting\u003c/h2\u003e\n\u003cp\u003eStarting in production mode:\u003c/p\u003e\n\u003cpre\u003enpm start\u003c/pre\u003e\n\u003cp\u003eStarting in development mode:\u003c/p\u003e\n\u003cpre\u003enpm run dev\u003c/pre\u003e\n\u003cp\u003eStarting in development mode (with MYSQL Server):\u003c/p\u003e\n\u003cpre\u003emake run-dev\u003c/pre\u003e\n\u003cp\u003eStopping MYSQL Server:\u003c/p\u003e\n\u003cpre\u003emake stop-dev\u003c/pre\u003e\n\u003ch2\u003eEnvironment variables\u003c/h2\u003e\n\u003cp\u003eList of variables:\u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003ccode\u003eWEBPACK_DEV\u003c/code\u003e - Webpack middleware starting if 1. Default: 0.\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003ePORT\u003c/code\u003e - Server port listening. Default: 80.\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003eDATABASE_HOST\u003c/code\u003e - Database host. Default: localhost.\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003eDATABASE_USER\u003c/code\u003e - Database user. Default: root.\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003eDATABASE_PASSWORD\u003c/code\u003e - Database password. Default: qwerty123.\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003eDATABASE_BASE\u003c/code\u003e - Database base. Default: contacts-app.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://www.npmjs.com/package/dotenv\"\u003eDotenv\u003c/a\u003e support is present!\u003c/p\u003e\n\u003ch2\u003eCode formatting\u003c/h2\u003e\n\u003cp\u003eBackend code formatting:\u003c/p\u003e\n\u003cpre\u003enpm run format\u003c/pre\u003e\n\u003cp\u003eFrontend code formatting:\u003c/p\u003e\n\u003cpre\u003enpm run frontend:format\u003c/pre\u003e\n\u003ch2\u003eDeploy\u003c/h2\u003e\n\u003cp\u003eBuilding image:\u003c/p\u003e\n\u003cpre\u003emake build\u003c/pre\u003e\n\u003cp\u003ePushing image:\u003c/p\u003e\n\u003cpre\u003emake push\u003c/pre\u003e\n\u003cp\u003ePulling image:\u003c/p\u003e\n\u003cpre\u003emake pull\u003c/pre\u003e\n\u003cp\u003eStaring image:\u003c/p\u003e\n\u003cpre\u003emake run\u003c/pre\u003e\n\u003cp\u003eStopping image:\u003c/p\u003e\n\u003cpre\u003emake stop\u003c/pre\u003e\n\u003ch2\u003eStack\u003c/h2\u003e\n\u003cp\u003eGeneral stack:\u003c/p\u003e\n\u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge\u0026logo=node.js\u0026logoColor=white\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/prettier-%23F7B93E.svg?\u0026style=for-the-badge\u0026logo=prettier\u0026logoColor=black\" /\u003e\n\u003c/p\u003e\n\u003cp\u003eFrontend stack:\u003c/p\u003e\n\u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/mobx-%23FF9955.svg?\u0026style=for-the-badge\u0026logo=mobx\u0026logoColor=black\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/MUI-%230081CB.svg?style=for-the-badge\u0026logo=mui\u0026logoColor=white\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/React_Router-CA4245?style=for-the-badge\u0026logo=react-router\u0026logoColor=white\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/webpack-%238DD6F9.svg?style=for-the-badge\u0026logo=webpack\u0026logoColor=black\" /\u003e\n\u003c/p\u003e\n\u003cp\u003eBackend stack:\u003c/p\u003e\n\u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/badge/nestjs-%23E0234E.svg?style=for-the-badge\u0026logo=nestjs\u0026logoColor=white\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/express.js-%23404d59.svg?style=for-the-badge\u0026logo=express\u0026logoColor=%2361DAFB\" /\u003e   \n\u003c/p\u003e\n\u003ch2\u003eTest accounts\u003c/h2\u003e\n\u003cp\u003eList of accounts:\u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003e\n        Account #1\n        \u003cul\u003e\n            \u003cli\u003eLogin: login\u003c/li\u003e\n            \u003cli\u003ePassword: qwerty123\u003c/li\u003e\n        \u003c/ul\u003e    \n    \u003c/li\u003e\n        \u003cli\u003e\n        Account #2\n        \u003cul\u003e\n            \u003cli\u003eLogin: dev2alert\u003c/li\u003e\n            \u003cli\u003ePassword: 0000\u003c/li\u003e\n        \u003c/ul\u003e    \n    \u003c/li\u003e\n        \u003cli\u003e\n        Account #3\n        \u003cul\u003e\n            \u003cli\u003eLogin: artem\u003c/li\u003e\n            \u003cli\u003ePassword: 123456\u003c/li\u003e\n        \u003c/ul\u003e    \n    \u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eContacts App already \u003ca href=\"http://dev2alert.ru.com/\"\u003epublicly available\u003c/a\u003e!\u003c/p\u003e\n\u003ch2\u003eLicense\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"./LICENSE\"\u003eMIT\u003c/a\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe2alert%2Fcontacts-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthe2alert%2Fcontacts-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe2alert%2Fcontacts-app/lists"}