Digital Innovation Tooling - Thomas More
Embrace the power of Svelte, Cloudflare, and Octo SDK in our innovative tech project, designed to optimize GitHub repo creation & management.
The tool is designed to streamline the process of creating GitHub repositories within a specific organization. It allows users to easily generate new repositories based on a pre-defined template, which saves time and ensures consistency across the organization's projects.
This tool can be used by members of the organization to create new GitHub repositories with just a few clicks, using a template that has been set up by the developer or administrator. This template can include pre-configured settings and files, such as a README or a specific file structure, making it easier for users to get started on their projects.
In addition, the tool also allows for tightly controlled access to the repositories, ensuring that only authorized users can access and modify them.
Overall, the purpose of this tool is to simplify the process of creating and managing GitHub repositories within an organization, while also providing a level of consistency and control.
Technical details
The tool was built using a combination of technologies, including Svelte, SvelteKit, Cloudflare, and the GitHub Octo SDK.
Svelte is a JavaScript framework for building user interfaces. It's a lightweight framework that allows developers to build web applications with a reactive and efficient architecture. SvelteKit is a framework built on top of Svelte that makes it easy to build and deploy web applications.
The frontend of the tool is built using Svelte and SvelteKit, and it is statically generated. This means that the frontend code is compiled ahead of time and then served to the user's browser as plain HTML, CSS and JavaScript, which provides a fast and efficient user experience.
The backend of the tool is built using Cloudflare Workers and Cloudflare Pages. Cloudflare Workers are a serverless compute platform that allows developers to run JavaScript code on Cloudflare's edge network. Cloudflare Pages is a platform that allows developers to host and deploy their web applications on Cloudflare's edge network. The combination of these two services allows the backend of the tool to be hosted and executed on Cloudflare's edge network, which provides a fast and reliable service.
GitHub Octo SDK is used to access the functionality provided by the GitHub API such as creating repositories, managing access to it etc.
In summary, the tool makes use of Svelte and SvelteKit for building the frontend, Cloudflare Workers and Cloudflare Pages for hosting and executing the backend, and GitHub Octo SDK for access and management of repository.
Design and Styling
Tailwind CSS is a utility-first CSS framework that provides a set of low-level utility classes that can be composed together to create complex designs. It allows developers to build custom designs without having to write a lot of CSS code, and it helps to keep the codebase consistent and maintainable.
DaisyUI is a UI library that provides a set of pre-built UI components that can be easily integrated into a Svelte application. It follows the same design philosophy as Tailwind CSS, and it is built on top of Tailwind CSS.
In the frontend of the tool, Tailwind CSS and DaisyUI are used to provide a consistent and user-friendly interface. The tool's interface makes use of various pre-built UI components such as buttons, forms, and navigation elements that are available in DaisyUI. This allows the developer to focus on the functionality of the tool, rather than spending time on designing and building custom UI components.
Use case
The tool is specific to the Thomas More University of Applied Sciences as it was developed and tailored to meet the specific needs of the organization. It is built to integrate with the organization's existing infrastructure and workflows, and it is designed to address the specific challenges that the organization faces when creating and managing GitHub repositories.
In addition, the tool is being used in Digital Innovation course of the college, which is responsible for researching and implementing new technologies to improve customer's operations and services. The tool is a perfect fit for this course as it helps to streamline the process of creating and managing GitHub repositories, which is a critical aspect of many Digital Innovation projects.
The tool allows the students to easily create new GitHub repositories that are preconfigured with the necessary settings, files and access control, making it easier for developers and researchers to start working on their projects right away. It also allows for tighter control over access and management of repositories, ensuring that only authorized users can access and modify them.
In short, the tool is specific to the Thomas More University of Applied Sciences, and is being used in the Digital Innovation course to streamline their operations and improve their project development and management.
Access control
The tool uses GitHub's built-in access control features to manage access to repositories, such as teams and collaborators. It allows the developer to create teams within the organization's GitHub account, and then assign specific roles and permissions to those teams. For example, a team of developers might be given write access to a specific repository, while a team of testers might be given read-only access.
In addition, the tool also allows the developer to assign specific permissions to individual users, such as admin access, write access, or read-only access. This allows for even greater granularity in controlling access to repositories.
The tool also allows to revoke access to any user or team at any time, making it easy to manage access to repositories and ensure that only authorized users have access to sensitive information.
Conclusion
In conclusion, this tool streamlines the process of creating GitHub repositories within an organization by allowing users to easily generate new repositories based on a pre-defined template. This saves time and ensures consistency across the organization's projects, while also providing a level of consistency and control. The tool was built using a combination of technologies, including Svelte, SvelteKit, Cloudflare, and the GitHub Octo SDK. Tailwind CSS and DaisyUI were used to provide a consistent and user-friendly interface. The tool was specifically designed and tailored to meet the needs of the Thomas More University of Applied Sciences, and is currently being used in a Digital Innovation course to research and implement new technologies to improve customer experience. Overall, this tool is a valuable asset for any organization looking to streamline and simplify the process of creating and managing GitHub repositories.
Links
- GitHub repository: https://github.com/Thomas-More-Digital-Innovation/2223-Tooling