Skip to content

Latest commit

 

History

History
106 lines (84 loc) · 2.33 KB

README.md

File metadata and controls

106 lines (84 loc) · 2.33 KB

PackIt

Welcome to the PackIt project! PackIt is a Link Shortener application build with mordern tech stack.

Prerequisites

Make sure you have the following installed:

  • GraalVM: High-performance runtime that provides support for multiple languages including Java and Kotlin.
  • Node.js 14+: Javascript runtime environment.
  • Docker: A platform to build, share, and run applications in containers.
  • Git: Version control system for tracking changes in source code, facilitating collaboration and version management.

Installation

Follow the steps below to set up a local environment:

  1. Install nvm:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  2. Install Node.js using nvm:

    nvm install node
  3. Install sdkman

    curl -s "https://get.sdkman.io" | bash
  4. Install GraaLVM and Gradle using sdkman:

     sdk install java 22.3.r17-grl
     sdk use java 22.3.r17-grl
     sdk install gradle

Getting Started

To run the PackIt project locally, follow these steps:

Clone the repository
  1. Firstly, clone the repository to your local machine:
    git clone https://github.com/Motouom/PackIt.git
    cd PackIt

Backend Setup

Navigate to the backend directory and set up the Spring Boot application:

  1. Navigate to the backend directory:

    cd packit-backend
  2. Build the project with Gradle:

    ./gradlew build
  3. Clean the build environment:

    gradle clean
  4. Run the application:

    ./gradlew bootrun

Frontend Setup

  1. Navigate to the frontend repository:

    cd ../PackIt-frontend
  2. Install the dependencies:

    npm install
  3. Build the frontend assets for production:

    npm run build
  4. Start the development server:

    npm run dev

Running the Application

Using Docker

  1. Build the docker image:

    docker-compose build
  2. Start the Services:

    docker-compose up
  3. Access the application:

    • Backend API: http://localhost:8080
    • Frontend: http://localhost:3000hello