Skip to main content

Developer Setup Guide

Prerequisites​

Before setting up the development environment, ensure you have the following installed:

  • Node.js (version 18 or higher)
  • npm or yarn
  • Git
  • Docker (optional, for local development)
  • VS Code or preferred IDE

Getting Started​

1. Clone the Repository​

git clone https://github.com/your-org/learnille.git
cd learnille

2. Install Dependencies​

# Install root dependencies
npm install

# Install server dependencies
cd server
npm install

# Install client dependencies
cd ../client
npm install

3. Environment Setup​

Create environment files:

# Copy environment templates
cp server/.env.example server/.env
cp client/.env.example client/.env

Update the .env files with your local configuration.

4. Database Setup​

# Start database (if using Docker)
docker-compose up -d

# Run migrations
cd server
npm run migration:run

5. Start Development Servers​

# Start server
cd server
npm run start:dev

# Start client (in new terminal)
cd client
npm run dev

Development Workflow​

Running Tests​

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Run e2e tests
npm run test:e2e

Code Quality​

# Run linter
npm run lint

# Fix linting issues
npm run lint:fix

# Run type checking
npm run typecheck

IDE Configuration​

VS Code Extensions​

  • TypeScript and JavaScript Language Features
  • Prettier
  • ESLint
  • GitLens
  • Docker (if using containers)

Settings​

Add to your VS Code settings:

{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"typescript.preferences.importModuleSpecifier": "relative"
}

Troubleshooting​

Common Issues​

  1. Port conflicts: Change ports in .env files
  2. Database connection: Ensure Docker is running
  3. Dependencies: Clear node_modules and reinstall
  4. Permissions: Check file permissions for scripts

Getting Help​

  • Check existing issues on GitHub
  • Review documentation in /docs
  • Contact the development team

Next Steps​

  • Read the coding standards
  • Review the version control policy
  • Familiarize yourself with the project structure
  • Start with a small feature or bug fix