2022 Project ideas list
Table of Contents:
- Ideas list:
- Genestorian: data refinement
- Citation and databasing functionality in luox
- Migration of Journal Policy Tracker backend to Express + GraphQL
- Migrate journal tracker from CSS framework to Vanilla CSS.
Ideas list:
Genestorian: data refinement
Genestorian is a web application to manage a collection of model organism strains and recombinant DNA in a life sciences laboratory.
New DNA sequences (inside or outside cells) are always generated by combining existing sequences. Genestorian leverages existing semantic web tools for synthetic biology and libraries for DNA visualisation to provide an intuitive interface where researchers can plan, document and revisit their experiments. Here you can find a short summary of the problem we are adressing, adapted for the non-biologists.
An important challenge for the project is to migrate data from spreadsheets, where most labs keep their collections, to the database. In this project, the intern will develop a first version of a tool to perform the data refinement required to migrate from spreadsheet to the database.
Outreachy or GSoC
- GSoC (350 hours)
Required skills:
- Good knowledge of text processing in a programming language (preferably Python)
- Willingness to learn the biology concepts that underlie the data models.
Useful skills:
- Experience with data refinement and approximate string matching.
- Willingness to interact with experimental researchers of which the data will be refined.
Possible mentors:
- Manuel Lera Ramirez, manulera14@gmail.com
contributor guidance: Please always email all mentors in the same mail if you would like to ask questions or discuss the project.
Expected outcome:
Development of a first version of a tool to perform the data refinement required to migrate from spreadsheets to the database. The task could focus only on the program for refinement, but also developing a web interface for migration is a possibility. In addition to mentorship, we will organise two half-day sessions with a professional Research Software Engineer for helping and advising the contributor, and for code review.
Difficulty level:
Medium if you have experience with string matching, easier if you know a bit of biology.
Citation and databasing functionality in luox
luox is a free, open-access and open-source platform for documenting and reporting light-related quantities from a spectrum of light written in JavaScript and React running directly in the browser. It is targeted to biomedical researchers looking for a convenient way to make their research with light(ing) interventions reproducible. Researchers can request a DOI (digital object identifier) for an uploaded spectrum, which is stored in a compressed/hashed way in the URL. The goal of this project is to develop simple database functionality to luox such that the web interface displays the DOI for any spectra that have already been assigned a DOI.
- Platform: https://luox.app/
- Repository: https://github.com/luox-app/luox
- Article describing the platform: https://doi.org/10.12688/wellcomeopenres.16595.2
Outreachy or GSoC
- This project is suitable for either GSoC (350 hours) or Outreachy
Required skills:
- Good knowledge of programming in JavaScript
- Good knowledge of web development
- Version control with Git
Useful skills:
- Knowledge of DOIs (digital object identifiers)
Possible mentors:
- Manuel Spitschan, manuel.spitschan@tuebingen.mpg.de
Expected outcome:
- Functionality to look up DOI from the compressed/hashed spectrum through a table
- Display of the associated DOI in the web interface
Difficulty level:
Medium
Migration of Journal Policy Tracker backend to Express + GraphQL
The Journal Policy Tracker is your go-to place where you can find all the open-source scientific journals and their policies. Currently the backend of this project is on Flask and SQLite3 along with SQLAlchemy as the ORM. This project aims to migrate the backend from Flask and SQL database to Express, GraphQL using express-graphql and a NoSQL database like MongoDB.
- Repository: codeisscience/journal-policy-tracker-backend
- Existing API documentation: journal-policy-tracker.herokuapp.com/swagger
Outreachy or GSoC
- This project is suitable for GSoC (175 hours)
Required skills:
- JavaScript
- Express.js
- GraphQL
- MongoDB
- Documentation (Markdown knowledge preferred)
Useful skills:
- Deployent nodejs apps to Heroku
- Familiarity with testing frameworks like Jest, Chai, Mocha in-order to write unit tests, integration tests and e2e tests.
Possible mentors:
- Pritish Samal, pritish.samal918@gmail.com
- Yo Yehudi, yochannah@gmail.com
contributor guidance: Please always email all mentors in the same mail if you would like to ask questions or discuss the project.
At the end of the program, the mentee is expected to do a successful migration of the existing server to an Express & GraphQL based backend.
Difficulty level:
- Easy if you have experience with GraphQL
- Medium if you are familiar with Express.js
Migrate journal tracker from CSS framework to Vanilla CSS.
The Journal Policy Tracker is your go-to place where you can find all the open-source journals and their policies. Currently the Frontend of this project is on React and React Bootstrap. This project aims to decouple the Frontend from CSS Frameworks for layout and presentation using Grid and Flex in place.
- Repository: codeisscience/journal-policy-tracker-frontend
- Frontend Preview: journal-policy-tracker.netlify.app
Outreachy or GSoC
- This project is suitable for GSoC (175 hours)
Required skills:
- JavaScript
- React.js
- CSS3
- HTML5
- Grid
- Flex box
- Documentation (Markdown knowledge preferred)
Useful skills:
- Familiarity with HTML5 and CSS3 semantics
- Familiarity with UI/UX
- Familiarity with Writing tests
Possible mentors:
- Isaac Miti, ikayztm@gmail.com
- Yo - yochannah@gmail
contributor guidance: Please always email all mentors in the same mail if you would like to ask questions or discuss the project.
At the end of the program, the mentee is expected to have a successful separation, merge and deployment of the Frontend.
Optional extra: If there is free time, designing a user management dashboard is an addtional task that can be added to the project.
Difficulty level:
- Easy if you have experience with Grid, Flex box, and CSS page layout
- Medium if you are familiar with CSS page layout