A monorepo (monolithic repository) is a version control repository that contains multiple projects or applications within a single repository. This approach offers several benefits:
- Shared code and dependencies
- Consistent tooling and configurations
- Easier collaboration across projects
- Simplified dependency management
- Unified version control
gkss1/
├── apps/ # Contains all applications
│ ├── site/ # Main website (Vite + HTML/CSS/JS)
│ └── react-site/ # React-based website
├── packages/ # Shared packages and utilities
├── package.json # Root package.json for workspace management
└── turbo.json # Turborepo configuration
Before you start development, ensure you have the following software installed:
- Node.js 18.x or later
- pnpm 10.9.0 or later
To install Node.js and pnpm:
- Visit Node.js official website
- Download and install the LTS version
- Install pnpm globally:
corepack enable pnpm
# If the above does not work,
npm install --global pnpm@10.9.0
corepack prepare pnpm@10.9.0
- Verify installation:
node --version
pnpm --version
npm install --global turbo@2.5
Required for various development tools and scripts.
If you are using linux, you probably know what you're doing so the Linux docs will be centered around Ubuntu Linux. Feel free to reach out in the whatsapp group for help though. If, you aren't in the group, feel free to create an issue and someone will attend to you.
sudo apt update
sudo apt install python
brew install python
Ask for help in the discussions to get help with configuring your Mac to work with
brew
- Visit Python Downloads
- Download Python 3.10 or later
- Run the installer (make sure to check "Add Python to PATH")
Verify Python installation:
# Linux & macOS
python3 --version
# Windows
python --version
- Git 2.x or later
Installation:
- Linux:
sudo apt install git
- macOS:
brew install git
- Windows: Download from Git website
Verify Git installation:
git --version
-
First create your fork of the gkss1 repo.
-
Clone the repository:
git clone https://github.com/<your-github-username>/gkss1.git
cd gkss1
- Install dependencies:
pnpm install
- Start development:
This command will run all apps' development servers and might make your machine slower. Rather navigation to the app your want to work on and run this command.
pnpm dev
- Main website: apps/site/ - Built with Vite, HTML, CSS, and JavaScript
- React website: apps/react-site/
- Check the packages/ directory for shared utilities and components
- Always create a new branch for your work:
git checkout -b feature/your-feature-name
- Follow the existing code style and formatting rules
- Write meaningful commit messages
- Test your changes before submitting a pull request
Please read our Contributing Guidelines before submitting pull requests.
For any questions or issues:
- Check the documentation in each app's README
- Create an issue in the repository
- Reach out to the maintainers
Made with ❤️ by GKSS UNISA Team