Difference between revisions of "Web development"

From TSG Doc
Jump to navigation Jump to search
(Created page with "= Web Application Development Possibilities at TSG = == Overview == Welcome to the TSG Software Development Possibilities page! This document outlines the various avenues an...")
 
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Web Application Development Possibilities at TSG =
+
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.
 
 
== Overview ==
 
 
 
Welcome to the TSG Software Development Possibilities page! This document outlines the various avenues and technologies available for software development within TSG, with a particular focus on creating software solutions for researchers. Whether you are a developer, project manager, or researcher, this guide aims to provide a comprehensive overview of the tools and frameworks at your disposal.
 
  
 
== 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/)
* '''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. (https://quasar.dev/)
 
+
* '''Pinia''': State management library. (https://pinia.vuejs.org/)
For advanced graphics rendering, consider:
+
* '''PixiJS''': A fast 2D rendering engine for the web. (https://pixijs.com/)
 
 
* '''PixiJS''': A fast 2D rendering engine for the web.
 
* '''HTML5 Canvas'''
 
  
 
=== 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 31: Line 37:
 
TSG promotes efficient version control and collaboration through:
 
TSG promotes efficient version control and collaboration through:
  
* '''Gitlab Projects''': Hosted repositories for managing source code. [Socsci Gitlab](https://gitlab.socsci.ru.nl/)
+
* '''Gitlab Projects''': Hosted repositories for managing source code.[[Gitlab Social Sciences]]
 
* '''Continuous Integration (CI) Pipelines''': Automated build and testing processes integrated into Gitlab projects.
 
* '''Continuous Integration (CI) Pipelines''': Automated build and testing processes integrated into Gitlab projects.
  
Line 39: Line 45:
  
 
* '''RESTful APIs''': Standardized APIs for seamless communication.
 
* '''RESTful APIs''': Standardized APIs for seamless communication.
* '''Python Flask''': A lightweight web framework for building APIs quickly.
+
* '''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.'
  
To foster a collaborative and knowledge-sharing culture, we organize 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.
+
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, stay updated on emerging trends, and collectively contribute to the growth and success of our software development endeavors.
+
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 any inquiries or assistance. Our team is dedicated to ensuring a smooth experience and addressing queries promptly for the success of your projects.
+
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 ==
  
Happy coding!
+
<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:

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:

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

Screenshots