Files
worklenz/SETUP_THE_PROJECT.md
chamikaJ 52eca27619 Update README and setup documentation for improved clarity and requirements
- Added license and version badges to the README for better visibility.
- Updated Node.js version requirement from v16 to v20 in both README and setup documentation.
- Enhanced the "Getting Started" section with clearer instructions for Docker setup and manual installation.
- Removed Grunt-related files and dependencies to streamline the backend setup.
- Updated deployment instructions for local and remote environments, including new access URLs and video guides.
2025-07-14 07:53:42 +05:30

3.3 KiB

Setting up development environment

Getting started with development is a breeze! Follow these steps and you'll be contributing in no time.

Requirements

  • Node.js version v20 or newer - Node.js
  • PostgreSQL version v15 or newer - PostgreSQL
  • S3-compatible storage (like MinIO) for file storage

Prerequisites

  • $ npm install -g typescript (optional, but recommended)

Installation

Clone the repository:

git clone https://github.com/Worklenz/worklenz.git
cd worklenz

Frontend installation

  1. Navigate to the frontend project directory:

    cd worklenz-frontend
    
  2. Install dependencies:

    npm install
    
  3. Run the frontend:

    npm start
    
  4. Navigate to http://localhost:5173 (development server)

Backend installation

  1. Navigate to the backend project directory:

    cd worklenz-backend
    
  2. Open your IDE:

    Open the project directory in your preferred code editor or IDE like Visual Studio Code.

  3. Configure Environment Variables:

    • Create a copy of the .env.example file and name it .env.
    • Update the required fields in .env with your specific configuration.
  4. Set up Database

    • Create a new database named worklenz_db on your local PostgreSQL server.
    • Update the database connection details in your .env file.
    • Execute the SQL setup files in the correct order:
    # From your PostgreSQL client or command line
    psql -U your_username -d worklenz_db -f database/sql/0_extensions.sql
    psql -U your_username -d worklenz_db -f database/sql/1_tables.sql
    psql -U your_username -d worklenz_db -f database/sql/indexes.sql
    psql -U your_username -d worklenz_db -f database/sql/4_functions.sql
    psql -U your_username -d worklenz_db -f database/sql/triggers.sql
    psql -U your_username -d worklenz_db -f database/sql/3_views.sql
    psql -U your_username -d worklenz_db -f database/sql/2_dml.sql
    psql -U your_username -d worklenz_db -f database/sql/5_database_user.sql
    

    Alternatively, you can use the provided shell script:

    # Make sure the script is executable
    chmod +x database/00-init-db.sh
    # Run the script (may need modifications for local execution)
    ./database/00-init-db.sh
    
  5. Install Dependencies:

    npm install
    
  6. Run the Development Server:

    npm run dev
    

    This starts the development server allowing you to work on the project.

  7. Run the Production Server:

    a. Build the project:

    npm run build
    

    This will compile the TypeScript code into JavaScript for production use.

    b. Start the production server:

    npm start
    

Docker Setup (Alternative)

For an easier setup, you can use Docker and Docker Compose:

  1. Make sure you have Docker and Docker Compose installed on your system.

  2. From the root directory, run:

    docker-compose up -d
    
  3. Access the application:

  4. To stop the services:

    docker-compose down