{"id":24452595,"url":"https://github.com/tcriss/vantar-api","last_synced_at":"2026-04-13T19:31:33.661Z","repository":{"id":241606448,"uuid":"806290518","full_name":"Tcriss/vantar-api","owner":"Tcriss","description":"Vantar Inventory Manager","archived":false,"fork":false,"pushed_at":"2024-11-24T22:03:43.000Z","size":1722,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-29T23:06:13.295Z","etag":null,"topics":["clean-architecture","express","jwt","mongodb","nestjs","postgres","prisma-orm"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tcriss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-05-26T22:10:23.000Z","updated_at":"2024-11-03T22:21:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"d45ce217-71c9-47a8-9ef4-fda441059dc7","html_url":"https://github.com/Tcriss/vantar-api","commit_stats":null,"previous_names":["tcriss/vantar-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Tcriss/vantar-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tcriss%2Fvantar-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tcriss%2Fvantar-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tcriss%2Fvantar-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tcriss%2Fvantar-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tcriss","download_url":"https://codeload.github.com/Tcriss/vantar-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tcriss%2Fvantar-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31768635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: 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":["clean-architecture","express","jwt","mongodb","nestjs","postgres","prisma-orm"],"created_at":"2025-01-21T01:16:08.110Z","updated_at":"2026-04-13T19:31:33.629Z","avatar_url":"https://github.com/Tcriss.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vantar API\n\nThis is [Vantar Project's]('https://github.com/HaroldMart/Vantar-Frontend') API, an API to manage your inventory.\n\n## Features\n\n### 🎯 Key Features\n\n- **Manage Shops:** Create an shop where all information are insolated, one shop is diferent from other.\n\n- **Manage Inventory:** Create an inventory from using products from your product list.\n\n- **Manage Products:** Create your product list to use it when creating an invoice or an inventory.\n\n- **Manage Invoices:** You can create invoices to save information about the sells you have.\n\n- **Mailing:** When you login or forgot your password, an e-mail will be sent to you.\n\n### 🔐 Security\n\nThis API implements the latest features on security in the Node environment.\n\nSome of those features are:\n\n- Hashing and encryptation.\n- Inputs validations and sanitization.\n- Rate limit.\n- Caching.\n- Role and Owner Based Access Control.\n- Secure headers.\n\n### 📄 Documentation\n\nThanks to the integration of the package nestJS/swagger, Vantar api is well documented, you can access Vantar API's swagger docs through the path `/docs` and swagger documentation will be shown to you.\n\n![Preview](./public/images/cover.png)\n\n## Technologies used\n\n[![Stack](https://skillicons.dev/icons?i=nestjs,prisma,postgres,mongo,jest)](https://skillicons.dev)\n\nThis app is made in NestJS following Clean Arquitecture principles alongside with Postgres and MongoDB.\n\n### 📦 Dependencies\n\n- swc\n- Prisma\n- Class-validator\n- Class-transformer\n- Bcrypt\n- Passport\n- Resend\n- Helmet\n\n##  Setup\n\n### 📃 Requirements\n\n- NodeJS 20.16.0 with pnpm enbled\n```bash \ncorepack enable pnpm\n```\n- NestJS CLI\n```bash\npnpm add @nestjs/cli\n```\n\n- Docker desktop\n\n### ✅ Installation\n\nSet env files\n\n```dosini\n# .env\nNODE_ENV = development\nPORT = 2000\nHOST = # app HOST\nCLIENT = # clients allowed by cors\n\n# db variables\nDB_PASSWORD = #db password\nDB_USER = #db user\nDB_NAME = #db name\n\n## connection\nDATABASE_URL = postgres://${DB_USER}:${DB_PASSWORD}@localhost:5434/${DB_NAME}?schema=public\nDIRECT_URL = # only if using supabase\nMONGO_URI = # mongo ulr\nMONGO_DB_NAME = # mongo db database\n\n# Email config\nEMAIL_KEY = # RESEND API KEY\nDEAFULT_EMAIL = # YOUR OWN EMAIL SERVER REGISTERED ON RESEND\nAUTH_URL = ${HOST}/auth # URL used for account activation endpoint\n\n# Tokens \u0026 security\nAT_TIME = # Access_token expiry time\nRT_TIME = # Refresh_token expiry time\nHASH = # Rounds salts for bcrypt\nSECRET = # Secret to sign access_tokens\nRT_SECRET = # Refresh_token secret to sign them\nACTIVATION_SECRET = # Activation for activation token\nRESET_SECRET = # Secret for reset token validation\n\n#Default ADMIN\nUSER_NAME = # admin name\nUSER_MAIL = # admin mail\nUSER_PW = # admin password\n```\n\n```dosini\n# .env.docker\nNODE_ENV = development\nPORT = 2000\nHOST = # app HOST\nCLIENT = # clients allowed by cors\n\n# db variables\nDB_PASSWORD = # postgres password\nDB_USER = # postgres user\nDB_NAME = # postgres name\n\n# replace connection variable where host name is localhost and port\nDATABASE_URL = postgres://${DB_USER}:${DB_PASSWORD}@database:5432/${DB_NAME}?schema=public\nDIRECT_URL = # only if using supabase\nMONGO_URI = # mongo database url\nMONGO_DB_NAME = # mongoDB name\n\n# Email config\nEMAIL_KEY = # RESEND API KEY\nDEAFULT_EMAIL = # YOUR OWN EMAIL SERVER REGISTERED ON RESEND\nAUTH_URL = ${HOST}/auth # URL used for account activation endpoint\n\n# Tokens \u0026 security\nAT_TIME = # Access_token expiry time\nRT_TIME = # Refresh_token expiry time\nHASH = # Rounds salts for bcrypt\nSECRET = # Secret to sign access_tokens\nRT_SECRET = # Refresh_token secret to sign them\nACTIVATION_SECRET = # Activation for activation token\nRESET_SECRET = # Secret for reset token validation\n\n#Default ADMIN\nUSER_NAME = # admin name\nUSER_MAIL = # admin mail\nUSER_PW = # admin password\n```\n### 🔄️ Restore dependencies\n\n```bash\npnpm install\n```\n\n## Execution\n\n```bash\n# development\n$ pnpm run start\n\n# watch mode\n$ pnpm run start:dev\n\n# production mode\n$ pnpm run start:prod\n```\n\nUsing docker\n\n```bash\ndocker compose --env-file .env.docker up --build -d\n```\n\u003e Note: --env-file flag is to tell docker that use a diferent .env file in runtime. This example has two environments: local dev \u0026 docker dev, if you will only use docker you can remove --env-file flag.\n\n## Test\n\n```bash\n# unit tests\n$ pnpm run test\n\n# e2e tests\n$ pnpm run test:e2e\n\n# test coverage\n$ pnpm run test:cov\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftcriss%2Fvantar-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftcriss%2Fvantar-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftcriss%2Fvantar-api/lists"}