Skip to content

GKSS-UNISA/gkss1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

GKSS1 Monorepo 🚀

What is a Monorepo? 📚

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

Repository Structure 📁

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

Prerequisites 🛠️

Before you start development, ensure you have the following software installed:

Node.js and pnpm

  • Node.js 18.x or later
  • pnpm 10.9.0 or later

To install Node.js and pnpm:

  1. Visit Node.js official website
  2. Download and install the LTS version
  3. 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
  1. Verify installation:
node --version

pnpm --version
Turborepo (Build tool)
npm install --global turbo@2.5

Python 3.10+

Required for various development tools and scripts.

Linux (Ubuntu/Debian):

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

macOS:

brew install python

Ask for help in the discussions to get help with configuring your Mac to work with brew

Windows:

  1. Visit Python Downloads
  2. Download Python 3.10 or later
  3. Run the installer (make sure to check "Add Python to PATH")

Verify Python installation:

# Linux & macOS
python3 --version
# Windows
python --version

Git

  • 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

Getting Started 🚀

  1. First create your fork of the gkss1 repo.

  2. Clone the repository:

git clone https://github.com/<your-github-username>/gkss1.git
cd gkss1
  1. Install dependencies:
pnpm install
  1. 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

Where to? 🧭

Frontend Development

Shared Packages

  • Check the packages/ directory for shared utilities and components

Development Guidelines 📝

  1. Always create a new branch for your work:
git checkout -b feature/your-feature-name
  1. Follow the existing code style and formatting rules
  2. Write meaningful commit messages
  3. Test your changes before submitting a pull request

Contributing 🤝

Please read our Contributing Guidelines before submitting pull requests.

Support 💬

For any questions or issues:

  1. Check the documentation in each app's README
  2. Create an issue in the repository
  3. Reach out to the maintainers

Made with ❤️ by GKSS UNISA Team

About

The monorepo holding all projects built for the student society

Topics

Resources

Contributing

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •