{"id":25345600,"url":"https://github.com/baseline-js/core","last_synced_at":"2026-03-05T21:31:16.976Z","repository":{"id":238937705,"uuid":"770682617","full_name":"Baseline-JS/core","owner":"Baseline-JS","description":"Baseline Core - Serverless First Framework","archived":false,"fork":false,"pushed_at":"2025-01-23T04:08:50.000Z","size":2145,"stargazers_count":97,"open_issues_count":1,"forks_count":6,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-02T01:39:27.988Z","etag":null,"topics":["aws","framework","serverless","typescript"],"latest_commit_sha":null,"homepage":"https://baselinejs.com","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/Baseline-JS.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,"zenodo":null}},"created_at":"2024-03-12T01:07:57.000Z","updated_at":"2025-09-09T12:57:53.000Z","dependencies_parsed_at":"2024-05-09T01:52:10.235Z","dependency_job_id":"1eb6f60f-80a5-4456-8c90-9c6d3150461e","html_url":"https://github.com/Baseline-JS/core","commit_stats":null,"previous_names":["baseline-js/core"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Baseline-JS/core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baseline-JS%2Fcore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baseline-JS%2Fcore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baseline-JS%2Fcore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baseline-JS%2Fcore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Baseline-JS","download_url":"https://codeload.github.com/Baseline-JS/core/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baseline-JS%2Fcore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30150402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T21:15:50.531Z","status":"ssl_error","status_checked_at":"2026-03-05T21:15:11.173Z","response_time":93,"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":["aws","framework","serverless","typescript"],"created_at":"2025-02-14T12:39:16.716Z","updated_at":"2026-03-05T21:31:16.758Z","avatar_url":"https://github.com/Baseline-JS.png","language":"TypeScript","readme":"![1688515420018](https://github.com/Baseline-JS/core/assets/151841910/620fa869-4bca-418d-af2c-3a3f8b2d2719)\n\n# BaselineJS\n\nBaselineJS is an open-source, fullstack TypeScript, serverless first framework designed to make building cloud native applications easier. Our framework utilizes a combination of modern technologies, architectures and operational processes to help teams to efficiently build and deploy robust applications\n\nIf you like BaselineJS give us a ⭐️\n\n[Website](https://baselinejs.com/) |\n[Documentation](https://docs.baselinejs.com/) |\n[Discord](https://discord.gg/beCj9VDeMm) |\n[LinkedIn](https://www.linkedin.com/company/baselinejs) |\n[YouTube](https://www.youtube.com/@Baseline-JS)\n\nStartups, want $1k USD of AWS Credits to Get Started? [Apply Here](https://share.hsforms.com/1P6p_G9Q_Q-SJAESAYtLftgqm3as)\n\n# Getting Started\n\nVideo walkthroughs setting up Baseline\n\n- [Baseline Demo](https://www.youtube.com/watch?v=db5gxYWAf1E)\n- [Baseline with Windows Subsystem Linux](https://www.youtube.com/watch?v=sxrQxoibUgI)\n- [Baseline with GitHub Codespaces](https://www.youtube.com/watch?v=uvL9PxdijXA)\n- [Baseline Simplified Workshop](https://youtu.be/YWh5iVaTq_w)\n\n# Setup\n\n## Quick Start\n\n`npx @baselinejs/quickstart`\n\nThe quick start command will:\n\n- Install all requirements\n- Create a new Baseline project\n- Set up AWS credentials\n- Deploy to staging\n- Create an admin user\n- Output the URLs for the project\n\nYou may need to install npm if npx is not available, you can do this by installing [Node.js](https://nodejs.org/en/download/)\n\n## Create App\n\nIf you prefer a more manual setup, follow the steps below.\n\n1. [Install requirements](#local-requirements) `pnpm run install:requirements`\n2. `npx @baselinejs/create-app my-app-name`\n3. `pnpm install`\n4. `pnpm run setup` to name your project and set the region\n5. `pnpm run aws:profile` to setup your AWS credentials profile (if you have issues please [update aws cli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html]))\n6. `pnpm run deploy:staging` to deploy api/web/admin\n7. `pnpm run add:user:staging` to add an admin user to the application\n8. `pnpm run urls:staging` To see your project URLs\n\n## Local Requirements\n\nThese must be installed before following the setup instructions. These can be installed manually or by using the requirements installation script.\n\n- Macos/Linux OS/Windows Subsystem for Linux\n  - Node.js v20 (v20 or higher) \u0026 npm@10.5.0 or higher [(we suggest installing and using nvm)](https://github.com/nvm-sh/nvm#install--update-script) follow instructions in the link to install, you will generally need to create a new terminal session after installing. If you already have nvm update it before proceeding.\n    - If nvm is installed you can switch versions with `nvm install 20 \u0026\u0026 nvm use 20 \u0026\u0026 nvm alias default 20 \u0026\u0026 nvm install-latest-npm`\n    - If not using nvm you can manually install node and npm, download from \u003chttps://nodejs.org/en/download/\u003e alternatively use the operating system package manager or any other appropriate tool to install node\n    - Current versions can be checked with `node -v`, `npm -v`\n  - pnpm version 9, version can be checked with `pnpm -v`, install with `npm install -g pnpm@9` [or other methods](https://pnpm.io/installation)\n  - [AWS CLI v2](https://aws.amazon.com/cli)\n  - Homebrew, for Mac users only, follow install instructions [here](https://brew.sh/)\n  - [jq](https://stedolan.github.io/jq/download/) for extracting Cloudformation outputs\n    - Install on mac `brew install jq`\n    - Install on Linux `sudo yum install jq` or `sudo apt-get install jq`, or other appropriate methods\n  - Java Runtime Environment (JRE) version 8.x or newer, it is only required for [DynamoDB local](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html)\n    - Install on mac `brew install temurin`\n    - Install on linux `sudo yum install java` or `sudo apt-get install openjdk-8-jdk`, or other appropriate methods\n    - DynamoDB local will automatically install in the project when the api is started, java needs to installed before this occurs\n  - curl which is used in some of the bash scripts, [curl install instructions](https://everything.curl.dev/get)\n  - An IDE such as [Visual Studio Code](https://code.visualstudio.com/)\n- Internet connectivity\n- AWS Account \u003chttps://aws.amazon.com/getting-started/\u003e\n- IAM credentials \u003chttps://docs.aws.amazon.com/cli/latest/userguide/getting-started-prereqs.html#getting-started-prereqs-iam\u003e be sure to follow [Security best practices in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)\n\n### Requirements Installation\n\nRun the following command to install the requirements.\n\nIf you are starting a new Baseline project.\n\n```bash\ncurl -o- https://raw.githubusercontent.com/Baseline-JS/core/main/scripts/install-requirements.sh | bash\n```\n\nor\n\n```bash\nwget -qO- https://raw.githubusercontent.com/Baseline-JS/core/main/scripts/install-requirements.sh | bash\n```\n\nIf you are joining an existing Baseline project make sure you run the requirements installation script in the root of the project. This will install the requirements for the project.\n\n```bash\npnpm run install:requirements\n```\n\n## Run Locally\n\nIf the project is already setup and you are trying run the project locally make sure you run `pnpm run aws:profile` first so that you have the correct credentials for AWS configured locally.\n\n### Commands\n\nStart the api, admin and web in their own terminal windows/tabs with the following commands.\n\n1. `pnpm run generate:env:local` to generate the env files for the frontend clients\n2. `pnpm run start:api`\n3. `pnpm run start:admin`\n4. `pnpm run start:web`\n\n### Running locally Limitations\n\n- API, Web \u0026 Admin: No S3, you will need to rely on AWS staging S3\n- API: No local Cognito Authorizer, the deployed staging cognito can be used (see `packages/api/serverless.yml`) or the payload set by `AUTHORIZER` in `packages/api/scripts/run-api-local.sh`.\n- Admin: Cognito UI relies on an active AWS Cognito user pool, use deployed staging\n\n## Deploy a Change\n\nSwap `staging` to `prod` to deploy to production. All environment variables will be automatically set in the process.\n\n1. `pnpm run deploy:staging` to deploy api/web/admin\n\n## Remove Stack\n\nTo destroy the deployed cloudformation stacks so it is no longer on AWS run `pnpm run remove:staging`. This will likely destroy all data associated with the application.\n\n## Major Components\n\n- 🚀 API\n- 🖥️ React Admin Website\n- 🌐 React User Website\n- ⚙️ CI/CD\n- 🔧 Developer Tooling\n- 🔒 Authentication\n- 🔄 Multiple Environments\n- 💻 Run Locally\n- 🏗️ Infrastructure as Code (IaC)\n- 📦 Managed Environment Variables\n- ✨ Baseline Commands\n\n## Technology\n\n- 🎁 Package Management: Pnpm + Monorepo\n- 🔨 Language \u0026 Build: TypeScript + ESBuild\n- 🖼 Frontend: React + Vite\n- ⚙️ Backend: NodeJS + Express\n- 🎨 Linting \u0026 Formatting: Prettier + Eslint\n- 🏗 IaC: AWS + Serverless Framework\n- 🚀 Deploy: Local/Bitbucket/GitHub CI/CD\n\n## AWS Services\n\n- Cognito\n- S3\n- Lambda\n- DynamoDB\n- CloudFormation\n- Route53\n- Systems Manager\n- CloudFront\n- API Gateway\n- CloudWatch\n- SNS\n\n## What can you build with Baseline?\n\n- 🌐 SaaS Solutions: Build software-as-a-service solutions tailored to your audience.\n- 🖥️ Web Applications: Develop responsive and scalable web applications.\n- 🛒 Marketplaces: Launch and manage online marketplaces with ease.\n- 📱 Mobile Applications: Create robust mobile apps for iOS and Android platforms.\n- 💼🛍️ B2B/B2C Applications: Seamlessly cater to both business and consumer audiences.\n- 🗄️ Headless CMS: Manage content efficiently using a headless content management system.\n\n## Benefits\n\n- Serverless First\n- Open source\n- Full control\n- Cost effective implementation\n- Hosted in your own AWS account\n- Uses popular technology\n- Scales on demand\n- Staging and production environments\n- Runs locally\n\n# Baseline\n\nIf you would like to learn more about what we do please visit [Baseline](https://baselinejs.com/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaseline-js%2Fcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaseline-js%2Fcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaseline-js%2Fcore/lists"}