Socket
Socket
Sign inDemoInstall

@baselinejs/core

Package Overview
Dependencies
Maintainers
0
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@baselinejs/core

Baseline JS is a serverless first full-stack JavaScript framework for building modern web applications.


Version published
Weekly downloads
153
increased by21.43%
Maintainers
0
Weekly downloads
 
Created
Source

1688515420018

BaselineJS

BaselineJS 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

If you like BaselineJS give us a ⭐️

Website | Documentation | Discord | LinkedIn | YouTube

Startups, want $10k USD of AWS Credits to Get Started? Apply Here

Getting Started

Setup

  1. Install requirements pnpm run install:requirements
  2. npx @baselinejs/create-app my-app-name
  3. pnpm install
  4. pnpm run setup to name your project and set the region
  5. pnpm run aws:profile to setup your AWS credentials profile (if you have issues please update aws cli)
  6. pnpm run deploy:staging to deploy api/web/admin
  7. pnpm run add:user:staging to add an admin user to the application
  8. pnpm run urls:staging To see your project URLs

Local Requirements

These must be installed before following the setup instructions.

  • Macos/Linux OS/Windows Subsystem for Linux
    • Node.js v20 (v20 or higher) & npm@10.5.0 or higher (we suggest installing and using nvm) 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.
      • If nvm is installed you can switch versions with nvm install 20 && nvm use 20 && nvm alias default 20 && nvm install-latest-npm
      • If not using nvm you can manually install node and npm, download from https://nodejs.org/en/download/ alternatively use the operating system package manager or any other appropriate tool to install node
      • Current versions can be checked with node -v, npm -v
    • pnpm version 9, version can be checked with pnpm -v, install with npm install -g pnpm@9 or other methods
    • AWS CLI v2
    • Homebrew, for Mac users only, follow install instructions here
    • jq for extracting Cloudformation outputs
      • Install on mac brew install jq
      • Install on Linux sudo yum install jq or sudo apt-get install jq, or other appropriate methods
    • Java Runtime Environment (JRE) version 8.x or newer, it is only required for DynamoDB local
      • Install on mac brew install java
      • Install on linux sudo yum install java or sudo apt-get install openjdk-8-jdk, or other appropriate methods
      • DynamoDB local will automatically install in the project when the api is started, java needs to installed before this occurs
    • curl which is used in some of the bash scripts, curl install instructions
    • An IDE such as Visual Studio Code
  • Internet connectivity
  • AWS Account https://aws.amazon.com/getting-started/
  • IAM credentials https://docs.aws.amazon.com/cli/latest/userguide/getting-started-prereqs.html#getting-started-prereqs-iam be sure to follow Security best practices in IAM

Experimental Requirements Installation

Alternatively, try the experimental requirements installation script. Use at your own risk.

If you are starting a new Baseline project.

curl -o- https://raw.githubusercontent.com/Baseline-JS/core/main/scripts/experimental-install-requirements.sh | bash

or

wget -qO- https://raw.githubusercontent.com/Baseline-JS/core/main/scripts/experimental-install-requirements.sh | bash

If you are joining an existing Baseline project

pnpm run install:requirements

Run Locally

If 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.

Commands

Start the api, admin and web in their own terminal windows/tabs with the following commands.

  1. pnpm run generate:env:local to generate the env files for the frontend clients
  2. pnpm run start:api
  3. pnpm run start:admin
  4. pnpm run start:web

Running locally Limitations

  • API, Web & Admin: No S3, you will need to rely on AWS staging S3
  • 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.
  • Admin: Cognito UI relies on an active AWS Cognito user pool, use deployed staging

Deploy a Change

Swap staging to prod to deploy to production. All environment variables will be automatically set in the process.

  1. pnpm run deploy:staging to deploy api/web/admin

Remove Stack

To 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.

Major Components

  • 🚀 API
  • 🖥️ React Admin Website
  • 🌐 React User Website
  • ⚙️ CI/CD
  • 🔧 Developer Tooling
  • 🔒 Authentication
  • 🔄 Multiple Environments
  • 💻 Run Locally
  • 🏗️ Infrastructure as Code (IaC)
  • 📦 Managed Environment Variables
  • ✨ Baseline Commands

Technology

  • 🎁 Package Management: Pnpm + Monorepo
  • 🔨 Language & Build: TypeScript + ESBuild
  • 🖼 Frontend: React + Vite
  • ⚙️ Backend: NodeJS + Express
  • 🎨 Linting & Formatting: Prettier + Eslint
  • 🏗 IaC: AWS + Serverless Framework
  • 🚀 Deploy: Local & Bitbucket CI/CD

AWS Services

  • Cognito
  • S3
  • Lambda
  • DynamoDB
  • CloudFormation
  • Route53
  • Systems Manager
  • CloudFront
  • API Gateway
  • CloudWatch
  • SNS

What can you build with Baseline?

  • 🌐 SaaS Solutions: Build software-as-a-service solutions tailored to your audience.
  • 🖥️ Web Applications: Develop responsive and scalable web applications.
  • 🛒 Marketplaces: Launch and manage online marketplaces with ease.
  • 📱 Mobile Applications: Create robust mobile apps for iOS and Android platforms.
  • 💼🛍️ B2B/B2C Applications: Seamlessly cater to both business and consumer audiences.
  • 🗄️ Headless CMS: Manage content efficiently using a headless content management system.

Benefits

  • Serverless First
  • Open source
  • Full control
  • Cost effective implementation
  • Hosted in your own AWS account
  • Uses popular technology
  • Scales on demand
  • Staging and production environments
  • Runs locally

Baseline

If you would like to learn more about what we do please visit Baseline

FAQs

Package last updated on 31 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc