Skip to main content
Baselink is built as a fullstack serverless app using modern technologies:
  • Frontend: React + Vite (Admin & User Portal)
  • Backend: Node.js + Express (API Layer)
  • Monorepo: Managed via pnpm
  • CI/CD: GitHub Actions + Serverless Framework
  • Database: AWS DynamoDB
  • Auth: AWS Cognito
Baselink is powered by BaselineJS but offers its own unique tooling, UI, and data models specific to Git repository analytics and developer activity insights.

Quick Start

The fastest way to get started with Baselink:
npx @baselinejs/quickstart
This command will:
  • Install all local dependencies
  • Scaffold a Baselink project
  • Configure your AWS profile
  • Deploy the full platform (API, Admin, Web)
  • Add your first admin user
  • Output project URLs
The quickstart process may take several minutes to complete as it sets up the entire infrastructure.

Local Development

To start Baselink locally after initial setup:
pnpm run aws:profile       # Configure your AWS credentials
pnpm run generate:env:local
pnpm run start:api         # Terminal 1
pnpm run start:admin       # Terminal 2
pnpm run start:web         # Terminal 3
Make sure to run each service in a separate terminal window to avoid conflicts.

Manual Setup

If you prefer to set up Baselink manually or need more control over the configuration:

Step 1: Install Requirements

pnpm run install:requirements

Step 2: Create Your Project

npx @baselinejs/create-app baselink

Step 3: Configure and Deploy

pnpm install
pnpm run setup
pnpm run aws:profile
pnpm run deploy:staging
pnpm run add:user:staging
pnpm run urls:staging

Development Commands

Setup & Configuration:
  • pnpm run setup - Initialize project configuration
  • pnpm run aws:profile - Configure AWS credentials
  • pnpm run generate:env:local - Generate local environment variables
Development Servers:
  • pnpm run start:api - Start the API server
  • pnpm run start:admin - Start the admin interface
  • pnpm run start:web - Start the web application
Deployment:
  • pnpm run deploy:staging - Deploy to staging environment
  • pnpm run deploy:production - Deploy to production environment
  • pnpm run add:user:staging - Add admin user to staging
  • pnpm run urls:staging - Get staging environment URLs
Baselink uses environment-specific configuration files. The main variables include:
  • AWS_REGION - AWS region for deployment
  • AWS_PROFILE - AWS profile name
  • DATABASE_URL - Database connection string
  • GITHUB_CLIENT_ID - GitHub OAuth client ID
  • GITHUB_CLIENT_SECRET - GitHub OAuth client secret

Troubleshooting

If you encounter AWS-related errors:
  1. Verify your AWS credentials are properly configured:
    aws configure list
    
  2. Ensure you have the necessary permissions for the services being deployed
  3. Check that your AWS profile is correctly set in the project configuration
If services fail to start due to port conflicts:
  1. Check which processes are using the required ports:
    lsof -i :3000
    lsof -i :3001
    lsof -i :3002
    
  2. Kill conflicting processes or modify the port configuration in your environment files
For database-related problems:
  1. Verify your database URL is correct in the environment configuration
  2. Ensure the database is accessible from your local network
  3. Check that all required database migrations have been applied

Additional Resources

For additional support or questions about Baselink development, please refer to the project’s internal documentation or contact the development team through the Support button on the navigation bar of this documentation site.