YouWol is an online ecosystem designed for collaboration, library and application development, and sharing. It places a significant emphasis on the domains of science and engineering by offering essential tools to optimize performance.
For a broader overview of YouWol, please visit our WebSite.
At a more detailed level, YouWol transforms web browsers into a functional operating system by:
- Enabling seamless and transparent installation of shared libraries and applications on-the-fly. This support extends to languages that can transpile or compile to JavaScript or WebAssembly. Additional information can be found in the WebPM site.
- Providing an initial collection of applications and libraries that replicate the familiar user experience of a conventional operating system, including features like a desktop and file explorer.
- Offering a development environment that streamlines and encourages contributions to the ecosystem. This environment is designed to make it easier for developers to participate in enhancing the platform.
The most foundationnal libraries:
- py-youwol: This library includes YouWol's backend functionalities, its primary focus revolves around data management, authentication, authorization, and resolving dependencies. It also serves as a standalone Python package and replicates all of YouWol's backends on your local PC.
- k8s-deployments: This library gathers the essential configurations necessary for deploying YouWol within a Kubernetes cluster. It primarily addresses Kubernetes, Helm charts, Keycloak, ScyllaDB, Minio, Redis, and other related aspects.
- webpm-client: A TypeScript library and HTTP client responsible for handling the dynamic installation of shared libraries directly into web browsers from the WebPM packages manager. It accomplishes this either in the main thread or within web workers.
- http-clients: A collection of HTTP clients designed to interact with YouWol's backends.
- cdn-externals: Packages available in NPM that have been ported to WebPM (the in-browser package manager of YouWol).
- cdn-pyodide-loader: Extension of the cdn-client to load python packages using Pyodide
Additionally, we've developed several noteworthy applications, including:
- desktop: An application that emulates a desktop-like user interface, running here.
- file explorer: This is YouWol's file explorer, providing file management functionalities, running here.
- low code: A low-code solution designed for orchestrating computations and visualizations directly within the web browser, running e.g. running here.
- stories: A solution for creating interactive documents, relying on a drag-and-drop web-page builder based on grapesJS, running here.
- python-playground: An in-browser Python Integrated Development Environment (IDE) for coding and experimentation, running here.
We welcome contributions from the community to help improve our projects. Please take a moment to review these guidelines before contributing.
- Fork the Repository: If you want to work on a project, fork the repository to your GitHub account.
- Clone the Repository: Clone the forked repository to your local machine using git clone.
git clone https://github.com/your-username/your-fork.git
- Create a Branch: Create a new branch for your contribution. Use a descriptive branch name related to the issue you're addressing or the feature you're adding.
git checkout -b feature-branch
Make Changes: Make your changes to the codebase. Please follow our coding style and guidelines.
- Commit Changes: Commit your changes with a clear and concise commit message. Use the present tense and imperative mood (e.g., "Add feature" not "Added feature").
git commit -m "Add feature"
- Push Changes: Push your changes to your fork on GitHub.
git push origin feature-branch
-
Create a Pull Request: Go to the original repository and create a pull request. Please provide a detailed description of your changes and reference any related issues.
-
Review and Discuss: Participate in the discussion on the pull request. Address any feedback and make additional changes if necessary.
-
Merge: Once your contribution is approved, it will be merged into the main repository.
We have a Code of Conduct that we expect all contributors to follow. Please review our Code of Conduct before contributing.
If you find a bug or have a suggestion for improvement, please open an issue on our issue tracker. Be sure to provide a clear and detailed description of the problem or enhancement you're suggesting.
By contributing to our projects, you agree that your contributions will be licensed under the same license as the project. For more details, please see our License file.
If you have any questions or need assistance, feel free to contact us through email.
-
Frantz Maerten YouWol's CEO
- GitHub: GitHub Profile
- Email: Email Address
-
Guillaume Reinisch Maintainer - frontend
- GitHub: GitHub Profile
- Email: Email Address
-
Julien Decharne Maintainer - backend
- GitHub: GitHub Profile
- Email: Email Address
-
Jehad Melhad Maintainer - frontend
- GitHub: GitHub Profile
- Email: Email Address
- Email: Contact Email Address
- Website: Organization's Website