Skip to content

sykell-challenge/setup

Repository files navigation

Sykell Challenge - URL Management System

A full-stack web application for managing and analyzing URLs/websites. This repository serves as the main project that orchestrates the frontend and backend components as Git submodules.

Repositories Overview

This project is structured as a monorepo with separate Git repositories for frontend and backend:

Quick Start

Prerequisites

  • Docker and Docker Compose
  • Git

Development Setup

  1. Clone the main repository with submodules

    git clone --recursive https://github.com/sykell-challenge/sykell-challenge.git
    cd sykell-challenge

    If you already cloned without --recursive, initialize submodules:

    git submodule update --init --recursive
  2. Start the complete application

    docker compose up --build

    This will start:

    • MySQL database on port 3306
    • Backend API on port 8080
    • Frontend application on port 3000
  3. Access the application

Production Deployment

docker compose -f docker-compose.prod.yaml up --build

Development

Working with Submodules

Initial Setup (if not cloned with --recursive)

# Initialize and pull all submodules
git submodule update --init --recursive

# Or step by step
git submodule init
git submodule update

Pulling Latest Changes from Submodules

# Method 1: Update to latest commits from remote (recommended)
git submodule update --remote --merge

# Method 2: Pull changes in each submodule individually
git submodule foreach git pull origin main

# Method 3: Update specific submodule
cd backend  # or frontend
git pull origin main
cd ..
git add backend  # stage the updated submodule reference
git commit -m "Update backend submodule to latest"

About

Reproducible setup config for the Sykell challenge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published