Difference between revisions of "Web development"
Wiki-admin (talk | contribs) |
Wiki-admin (talk | contribs) |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | Welcome to the TSG Web Development page! This document outlines the various technologies available for web development within TSG, with a particular focus on creating software solutions for researchers. Whether you are a developer or researcher, this guide aims to provide a comprehensive overview of the tools and frameworks at your disposal. | |
− | |||
− | |||
− | |||
− | Welcome to the TSG | ||
== Web Applications == | == Web Applications == | ||
Line 11: | Line 7: | ||
TSG supports frontend development using technologies like: | TSG supports frontend development using technologies like: | ||
− | * '''Vue.js''': A progressive JavaScript framework for building user interfaces. | + | * '''HTML/CSS/JavaScript/TypeScript''': Standard web technologies for creating interactive and responsive user interfaces. |
− | * '''Quasar Framework''': A Vue.js framework for building responsive and high-performance multi-platform applications. | + | * '''Vue.js''': A progressive JavaScript framework for building user interfaces. (https://vuejs.org/) |
− | * ''' | + | * '''Quasar Framework''': A Vue.js framework for building responsive and high-performance multi-platform applications. (https://quasar.dev/) |
− | + | * '''Pinia''': State management library. (https://pinia.vuejs.org/) | |
− | + | * '''PixiJS''': A fast 2D rendering engine for the web. (https://pixijs.com/) | |
− | |||
− | * '''PixiJS''': A fast 2D rendering engine for the web. | ||
− | |||
=== Backend Development === | === Backend Development === | ||
Line 26: | Line 19: | ||
* '''Python''': A versatile programming language. | * '''Python''': A versatile programming language. | ||
* '''Django''': A high-level Python web framework that encourages rapid development and clean, pragmatic design. | * '''Django''': A high-level Python web framework that encourages rapid development and clean, pragmatic design. | ||
+ | * '''Docker''': Docker is a platform designed to help developers build, share, and run container applications. | ||
+ | * '''Postgres''': Relational database. | ||
+ | |||
+ | == Web Application / Database Hosting == | ||
+ | |||
+ | TSG provides web application hosting services to ensure the deployment and accessibility of your projects. | ||
+ | Our hosting infrastructure is designed to support a variety of web applications, ranging from those built with Vue.js to Python-based applications using Django. | ||
+ | |||
+ | Technologies we currently use for deployment are: | ||
+ | * '''Docker & Docker compose''': Docker is a platform designed to help developers build, share, and run container applications. | ||
+ | * '''Apache2''': https://httpd.apache.org/ | ||
+ | * '''NGINX''': https://nginx.org/en/ | ||
+ | * '''Gitlab pages''': https://docs.gitlab.com/ee/user/project/pages/ | ||
== Version Control and Collaboration == | == Version Control and Collaboration == | ||
Line 39: | Line 45: | ||
* '''RESTful APIs''': Standardized APIs for seamless communication. | * '''RESTful APIs''': Standardized APIs for seamless communication. | ||
− | * ''' | + | * '''Django Rest Framework''': A web framework for building APIs quickly. (https://www.django-rest-framework.org/) |
+ | * '''Postman''': Postman is an API platform for building and using APIs. (https://www.postman.com/) | ||
+ | * '''OpenAPI''': (https://swagger.io/specification/) | ||
== Graphics Rendering == | == Graphics Rendering == | ||
Line 53: | Line 61: | ||
Comprehensive documentation is crucial for successful software development. TSG recommends: | Comprehensive documentation is crucial for successful software development. TSG recommends: | ||
+ | * '''Vitepress''': Fast way to create a documentation site using markdown. (https://vitepress.dev/) | ||
* '''Markdown''': Lightweight markup language for creating rich text documents. | * '''Markdown''': Lightweight markup language for creating rich text documents. | ||
* '''MediaWiki Pages''': Easily editable and accessible documentation for all projects. | * '''MediaWiki Pages''': Easily editable and accessible documentation for all projects. | ||
Line 60: | Line 69: | ||
At TSG software development group, we believe in the philosophy that 'sharing is caring.' | At TSG software development group, we believe in the philosophy that 'sharing is caring.' | ||
− | + | We organise regular 'Sharing is Caring' sessions within our software development group. These sessions provide a platform for team members to showcase their latest projects, share valuable insights, and discuss innovative solutions. | |
+ | Whether it's a successful implementation, a challenging problem overcome, or a new technology exploration, these sessions are an opportunity for our developers to learn from each other's experiences and collectively enhance our skills. | ||
− | By actively participating in 'Sharing is Caring' sessions, we strengthen our bonds as a team | + | By actively participating in 'Sharing is Caring' sessions, we strengthen our bonds as a team and stay updated on emerging trends. |
== How to Get Started == | == How to Get Started == | ||
− | For client assistance or inquiries about our software development services, feel free to reach out to the TSG at tsg@ru.nl for | + | For client assistance or inquiries about our software development services, feel free to reach out to the TSG at tsg@ru.nl for inquiries or assistance. |
+ | |||
+ | == Project examples == | ||
+ | * [https://radcloud.socsci.ru.nl/ Radcloud experiment management User interface made with VueJS + Quasar + Pinia] | ||
+ | * [https://tsg.gitlab-pages.socsci.ru.nl/radcloud-docs/ Radcloud documentation site made with Vitepress] | ||
+ | * [https://radcloud.socsci.ru.nl/swagger/ Radcloud OpenAPI documentation ] | ||
+ | * [https://www.socsci.ru.nl/fusinitiative/tuscalculator/ TUS calculator made with VueJS + Quasar + Pinia + webworkers + HTML5 canvas] | ||
+ | == Screenshots == | ||
− | + | <gallery> | |
+ | Screenshot 2023-11-30 at 14.39.51.png|Jain management website photo library example of a Django web application | ||
+ | Tus-calculator.png|Tus calculator a single page application written in Vue3 | ||
+ | Tus-calculator-custom-visualization.png|Tus calculator custom visualisation using HTML5 canvas | ||
+ | </gallery> |
Latest revision as of 11:30, 31 October 2024
Welcome to the TSG Web Development page! This document outlines the various technologies available for web development within TSG, with a particular focus on creating software solutions for researchers. Whether you are a developer or researcher, this guide aims to provide a comprehensive overview of the tools and frameworks at your disposal.
Web Applications
Frontend Development
TSG supports frontend development using technologies like:
- HTML/CSS/JavaScript/TypeScript: Standard web technologies for creating interactive and responsive user interfaces.
- Vue.js: A progressive JavaScript framework for building user interfaces. (https://vuejs.org/)
- Quasar Framework: A Vue.js framework for building responsive and high-performance multi-platform applications. (https://quasar.dev/)
- Pinia: State management library. (https://pinia.vuejs.org/)
- PixiJS: A fast 2D rendering engine for the web. (https://pixijs.com/)
Backend Development
For backend development, TSG leverages:
- Python: A versatile programming language.
- Django: A high-level Python web framework that encourages rapid development and clean, pragmatic design.
- Docker: Docker is a platform designed to help developers build, share, and run container applications.
- Postgres: Relational database.
Web Application / Database Hosting
TSG provides web application hosting services to ensure the deployment and accessibility of your projects. Our hosting infrastructure is designed to support a variety of web applications, ranging from those built with Vue.js to Python-based applications using Django.
Technologies we currently use for deployment are:
- Docker & Docker compose: Docker is a platform designed to help developers build, share, and run container applications.
- Apache2: https://httpd.apache.org/
- NGINX: https://nginx.org/en/
- Gitlab pages: https://docs.gitlab.com/ee/user/project/pages/
Version Control and Collaboration
TSG promotes efficient version control and collaboration through:
- Gitlab Projects: Hosted repositories for managing source code.Gitlab Social Sciences
- Continuous Integration (CI) Pipelines: Automated build and testing processes integrated into Gitlab projects.
API Development
TSG encourages the creation of APIs to facilitate data exchange and integration. Key technologies include:
- RESTful APIs: Standardized APIs for seamless communication.
- Django Rest Framework: A web framework for building APIs quickly. (https://www.django-rest-framework.org/)
- Postman: Postman is an API platform for building and using APIs. (https://www.postman.com/)
- OpenAPI: (https://swagger.io/specification/)
Graphics Rendering
For projects requiring advanced graphics rendering capabilities:
- PixiJS: A powerful library for 2D web graphics rendering.
- HTML5 Canvas
- Others: We can take a look at what's available and fits your project.
Documentation
Comprehensive documentation is crucial for successful software development. TSG recommends:
- Vitepress: Fast way to create a documentation site using markdown. (https://vitepress.dev/)
- Markdown: Lightweight markup language for creating rich text documents.
- MediaWiki Pages: Easily editable and accessible documentation for all projects.
Knowledge sharing
At TSG software development group, we believe in the philosophy that 'sharing is caring.'
We organise regular 'Sharing is Caring' sessions within our software development group. These sessions provide a platform for team members to showcase their latest projects, share valuable insights, and discuss innovative solutions. Whether it's a successful implementation, a challenging problem overcome, or a new technology exploration, these sessions are an opportunity for our developers to learn from each other's experiences and collectively enhance our skills.
By actively participating in 'Sharing is Caring' sessions, we strengthen our bonds as a team and stay updated on emerging trends.
How to Get Started
For client assistance or inquiries about our software development services, feel free to reach out to the TSG at tsg@ru.nl for inquiries or assistance.
Project examples
- Radcloud experiment management User interface made with VueJS + Quasar + Pinia
- Radcloud documentation site made with Vitepress
- Radcloud OpenAPI documentation
- TUS calculator made with VueJS + Quasar + Pinia + webworkers + HTML5 canvas