Skip to content

Commit

Permalink
Merge pull request #31 from oss-slu/project-sib
Browse files Browse the repository at this point in the history
Project - SIB
  • Loading branch information
kungfuchicken authored Nov 27, 2023
2 parents 1eab71d + d223c77 commit 15058f3
Show file tree
Hide file tree
Showing 34 changed files with 856 additions and 181 deletions.
214 changes: 33 additions & 181 deletions docs/portfolio.md
Original file line number Diff line number Diff line change
@@ -1,198 +1,50 @@
---
id: portfolio
title: Portfolio
description: OSS Projects
custom_edit_url: null
---

# Portfolio

## Swarm of Drones
Open Source with SLU makes open source software that supports research.

![Drone](@site/static/img/drones.png)
## New Projects

The SLU AirCRAFT Lab has created a
software and hardware pipeline for
controlling a swarm of drones, including
virtual reality (VR) devices, a main Air
Traffic Control (ATC) center, and
numerous drones that were built in the
lab. The pipeline is currently broken, the
legacy code is out of date, and the
AirCRAFT Lab has not been able to
diagnose or repair these problems.
Currently, the main focus of our team is
to fix the pipeline to be able to control
multiple drones using VR. We are
establishing communication between
various software programs, and ensuring
that the physical connections are
properly configured. Ultimately, our goal
is to make the pipeline more robust than
it was previously, so that it doesn't break
again and can be expanded with more
drones, commands, distance, and usage.
We are currently accepting project requests. You can submit your request via this [Google Form](https://forms.gle/QwJYztXK5VrXG6K38). We will prioritize requests that:

Check out our
- Come from Saint Louis University
- Focus on tools that help with specific research goals
- Will help researchers obtain specific preliminary results

* [source code](https://github.com/oss-slu/Drones)
* [flyer](@site/static/pdf/drones.pdf).
## Current Capstone Projects

## Network Congestion-Control Emulator
<!-- - ![Alt](project_name/100x100.png) **Project Name** One-sentence description of the purpose of the project -->
- [DADS (Database of Arithmetic Dynamical Systems)](project_dads/about) - The goal of this project is to create a flexible, web-based, search-driven user interface for a database of arithmetic dynamical systems
- ![DEER](project_deer/deer_100.jpg) **[Data Entry & Exhibition for Rerum](project_deer/about)** A designer's framework for non-destructive annotation and template rendering for distributed digital resources and collections.
- Drone World
- Gallery of Glosses
- MeltShiny
- ![Mouser](project_mouser/100x100.png) [**Mouser**](project_mouser/about) - This software is used for tracking the data of animal experiments.
- **[Pi4Micronaut](project_pi4micronaut/about)** - A Java library crafted for developers who aim to build IoT applications leveraging the Raspberry Pi platform.
- Rerum Geolocator
- ![Seeing Is Believing](project_sib/100x100.jpg) **[Seeing Is Believing](project_sib/about)** - An educational learning tool enabling visualizing the pronunciation of Spanish words.
- Shelter Volunteers
- ![Saltify](project_saltify/100x100.png) [**Speech Tagging**](project_saltify/about) - This software transcribes an audio sample into a written format that is accepted by SALT software.
- ![Where's Religion Desktop](project_wheres_religion_desktop/100x100.png) [**Where's Religion Desktop**](project_wheres_religion_desktop/about) - Where's Religion Desktop is an enhancement on the mobile version which will have extended features.
- ![Where's Religion Mobile](project_wheres_religion_mobile/100x100.png) [**Where's Religion Mobile**](project_wheres_religion_mobile/about) - This Project is to create an application for ethnographers to capture the events happening around them along with some audio/visual representation of the event.

![Diagram](@site/static/img/network.png)
## Current Internal Service Projects

The purpose of this project is to create a software capable of emulating different network scenarios
while evaluating these different congestion control protocols. The software generates evaluation reports in
terms of measurement metrics such as throughput, delays and jitters.
- Inner Peace Time
- iSpraak

Check out our
## Other Projects

* [source code](https://github.com/oss-slu/Congestion-control-emulator)
* [flyer](@site/static/pdf/network-control.pdf).
- ML Code Generator
- Congestion Control Emulator
- Python TBE Library
- Orca Converter/Extractor

## SALT
## Inactive Projects

![Saltify](@site/static/img/saltify.png)

We look to be able to transcribe audio samples into a written format that is accepted by SALT (systematic analysis of language transcripts) software. SALT is an app that analyzes the speech of children and scores it according to their metrics.

Check out our

* [source code](https://github.com/oss-slu/SpeechTranscription)
* [flyer](@site/static/pdf/saltify.pdf).

## Mouser

![Mouse](@site/static/img/mouser.png)

Mouser is a desktop app designed to optimize research
that uses animal experimentation. Animals are often used
in experiments to analyze the effects of drugs and other
products, and Mouser is a way to optimize this analysis.
Mouser will allow researchers to manage their own
scientific experiments, where they can enter animal
measurements, configure experiment information, and
control which users can access the experiment. Using
Mouser, animals can be measured in any way based on the
user’s specifications, like weight or blood pressure, and
this data can be managed easily with the application.

Check out our

* [source code](https://github.com/oss-slu/Mouser)
* [flyer](@site/static/pdf/mouser.pdf).

## Pi4Micronaut

![Raspberry Pi](@site/static/img/raspi.png)

Our goal is to create a Java library using the
Micronaut Framework and Pi4J to streamline
the process of creating IoT web applications
which utilize hardware connectivity to
Raspberry Pi's.

Check out our

* [source code](https://github.com/oss-slu/Pi4Micronaut)
* [flyer](@site/static/pdf/Pi4MicronautFlyer.pdf).

## Machine Learning Code Generator

![Diagram](@site/static/img/mlcode.png)

Machine Learning is a kind of Artificial Intelligence that is used to classify and predict unknown data. It is a powerful and versatile tool, but most people cannot write machine learning code. Therefore the majority of people cannot take advantage of Machine Learning.

The goal of the project is to:

- Help people from a broad range of disciplines to make new discoveries using their own data
- Increase access to Machine Learning technologies

Check out our

* [source code](https://github.com/kate-holdener/ml_code_generator)
* [flyer](@site/static/pdf/machine-learning.pdf).

## Santiago

![Neuron](@site/static/img/neuron.png)

SBFSEM-tools is a MATLAB toolbox developed
by Sara Patterson for creating, analyzing and
visualizing Neuron models for the sake of
research and documentation. The project
includes multiple GUIs to interact with the data.

Our project, Santiago, aims to continue that
effort by utilizing the existing MATLAB toolbox.
In its current state, many functions of the
toolbox require researchers to edit values in the
code, which can be difficult for people without a
computer science background. Our primary goal
is to make the SBFSEM-tools more accessible to
those not familiar with computer programming
or MATLAB. We would also like to make the
existing functionality accessible within a singular
user interface.

Check out our

* [source code](https://github.com/oss-slu/Santiago)
* [flyer](@site/static/pdf/santiago.pdf).

## Scantron Software

![Scantron](@site/static/img/scantron.png)

Physical scantron machines are very slow and cost-ineffective. Our software eliminates the need for machines and makes it cost-efficient and fast.

Check out our

* [source code](https://github.com/rkarmuri/Scantron_Software)
* [flyer](@site/static/pdf/scantron.pdf).

## Seeing Is Believing

![Seeing-Is-Believing](@site/static/img/sib.png)

Seeing Is Believing is a learning management tool that allows teachers to demonstrate the pronunciation of Spanish words. Students are able to practice their pronunciation through our website and see their progress as a collection of spectrograms. The spectrograms allow students to visualize the difference between their pronunciation and the pronunciation of a native speaker even if it's difficulty for them to hear it.

Check out our

* [source code](https://github.com/oss-slu/Seeing-is-Believing)
* [flyer](@size/static/pdf/SIBFlyer.pdf)


## T-PEN

![Transcription](@site/static/img/tpen.png)

T‑PEN is a web-based tool for working
with images of manuscripts. Users attach
transcription data (new or uploaded) to
the actual lines of the original
manuscript in a simple, flexible interface.

Check out our

* [source code](https://github.com/CenterForDigitalHumanities/TPEN28/tree/oss-dev)
* [flyer](@site/static/pdf/tpen.pdf).

## MeltShiny

![Graph](@site/static/img/graph.png)

Researchers are currently using an old program
called MeltWin to analyze DNA absorbance data.
This program was designed over 20 years ago,
requires older computer systems, and lacks newer
features. Furthermore, a lack of source code
makes modification impossible. As such there is a
need for a newer program that both includes the
functions of MeltWin, runs on modern systems,
and introduces newer “automatic” features.

Check out our

* [source code](https://github.com/oss-slu/MeltWin2.0)
* [flyer](@site/static/pdf/meltshiny.pdf).
- DroneSwarm
- Santiago
58 changes: 58 additions & 0 deletions docs/project_dads/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
id: about
title: DADS
custom_edit_url: null
---
<!-- A header image is optional; if used should be no greater than 200x600 -->
<!--![Header Alt Text](header.png) -->

## Overview

The goal of this project is to create a flexible, web-based, search-driven user interface for a database of arithmetic dynamical systems. The web-based interface to access the data will be search-driven making tasks such as locating examples with specific properties or examining the collective statistics of certain sets of dynamical systems as simple as possible. This data will be able to be exported for further analysis. This type of searchable rich data set will save researchers countless hours of computation as well as provide a means to identify previously unknown patterns and connections. The application allows users to find and filter dynamical systems, with different statistics of the filtered results calculated.


### Information

- **Source Code:** <https://github.com/oss-slu/dads>
- **Client** Dr Benjamin Hutz
- **Current Tech Lead:** Abhilash Kotha [GitHub](https://github.com/AbhilashKotha) [LinkedIn](https://www.linkedin.com/in/abhilashkotha/)
- **Developers:**
- [Evan Richmond](https://github.com/Evan-Richmond) (capstone)
- [Andrew Jelliss](https://github.com/AJelliss) (capstone)
- [Louis Rolwes](https://github.com/lRolwes) (capstone)
- [Greih Murray](https://github.com/GreihMurray) (alumni)
- [Josiah Glyshaw](https://github.com/jglyshaw) (alumni)
- [Thomas McGuigan](https://github.com/thomasmcg77) (alumni)

- **Start Date:** Mar, 2023
- **Adoption Date:** Mar, 2023
- **Technologies Used:**
- React
- Flask
- PstgreSQL
- **Type:** Web application
- **License:** [MIT](https://opensource.org/license/mit)

## Users

Upon launching the web application the users are taken to the Home page of the application where they see information about the application. User needs to click on "Dynamical Systems" page which loads all the systems in the page in a table. User can apply filters based on dimension, degree, class and other attributes. User can also click on a row and can get more information about the selected row. On the right side, user can see a few statistics of the filtered results.

## Technical Information

## Overview

Overview of the software architecture.
![Software Architecture](architecture.png)

## Development Priorities

- Complete implememting all the existing flters and statistics
- Interact with a larger set of data
- Improve the Queries and execution time
- Improve the UI and UX of the application
- Create documentation for the users of the application
- Implement the details page of the function with real data (currently static)

## Get Involved

If you would like to contribute to this project, please visit our [GitHub page](https://github.com/oss-slu/dads) to create your own issues or pull requests.
Binary file added docs/project_dads/architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions docs/project_dads/architecture.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
!define DEVICONS https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/master/devicons
!define FONTAWESOME https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/master/font-awesome-5

!include DEVICONS/react.puml
!include DEVICONS/python.puml
!include DEVICONS/postgresql.puml
!include FONTAWESOME/users.puml
LAYOUT_WITH_LEGEND()

Person(User, "Users", $sprite="users")
Boundary(b1, "Our Application"){
Container(dadsAppClient, "Application User Interface", "React", $sprite="react")
Container(dadsAppServer, "Server-side application", "Flask", $sprite="python")
ContainerDb(mathematicalSystems, "Mathematical Systems", "PostgreSQL", $sprite="postgresql")
}

Rel(User, dadsAppClient, "Use", "Web Browswer")
Rel(dadsAppClient, dadsAppServer, "Requests data about mathematical systems", "HTTPS")
Rel(dadsAppServer, mathematicalSystems, "Reads")
@enduml
73 changes: 73 additions & 0 deletions docs/project_deer/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
id: about-deer
title: Data Entry & Exhibition for Rerum
custom_edit_url: null
---
<!-- A header image is optional; if used should be no greater than 200x600 -->
![Data Entry & Exhibition for Rerum header image](https://deer.rerum.io/images/deerlogo_banner.jpg)

## Overview

DEER is a framework for designers to quickly template web components for exhibition or data entry. By default, these components all follow the Rerum API, connect to the public sandbox instance of RERUM, and simplify descriptive annotation.

### Information

- **Source Code:** <https://github.com/CenterForDigitalHumanities/deer>
- **Client**: Research Computing Group, Saint Louis University
- **Current Tech Lead:** [Bryan Haberberger](https://github.com/theHabes)
- **Developers:**
- https://github.com/sophiabahru (capstone)
- https://github.com/Regorh (capstone)
- https://github.com/cubap (RCG staff)
- https://github.com/theHabes (RCG staff)
- **Start Date:** April 2019
- **Adoption Date:** August 2023
- **Technologies Used:**
- Web Components,
- JavaScript,
- HTML, CSS
- **Type:** Web
- **License:** none
- **Version:** 0.92

## User Guide

Instructions for use are available in the [project wiki](https://github.com/CenterForDigitalHumanities/deer/wiki/Using-DEER-in-your-project).
Examples can be seen at https://deer.rerum.io.

## Technical Information

This framework is intended to be used by designers as web components which can be extended for needed customization without much knowledge beyond what is typically required by other templating or component libraries or systems. Any opportunity to adhere more tightly to standards or simplify the experience for designers is encouraged..

The choice to use as much plain JavaScript as possible is made to allow for the greatest flexibility in the future. It is not off the map to create ports into other languages or super-languages, but until we release 1.0, it is out of scope.

### Overview

The original design in the alpha releases is less bound to standards than the release candidate because the Web Component standard was not established yet and most of the air was taken up by new React flavors.

The framework splits concerns into two main camps: Forms and Views

#### Forms

Simple forms look familiar, but instead of saving an entire document, the fields are saved as annotations on the resource identified in the `<form>` element's `deer-id` attribute. An `$isDirty` property is used to tell when a value has been modified to honor the versioning requirements. Complex form fields can be created, but requires a little more fluency in the DEER events. A NoticeBoard class is used as a pubsubhub bus to allow for the notification of changes to the data rendered in the form.

#### Views

Views are very similar to the data-binding template systems though it does not have a bespoke syntax like Handlebars or Angular. In the exhibition use case, a view is a simple way to collect a document from the database with all the annotations that describe it. The `deer-template` element is usde in older versions and in hte 1.0 RC, the element itself is registered as a template.

In either case, a View is registered by `deer-id` attribute and standard Web Component lifecycle methods are used to render the resource.

### Development Priorities

- Release Candidate 1.0 with Web Components
- Simple template creation
- Improve handling of complex forms
- Tidy up events for customization
- Mirror some client-side functionality on RERUM

## Get Involved

<!-- A group photo is optional; if used should be no greater than 800x800 -->
<!--![Group Photo Alt Text](group.jpg) -->

Overview of contribution and participation information, and links to any [contributors guide](https://github.com/CenterForDigitalHumanities/deer/blob/main/CONTRIBUTING.md)
Binary file added docs/project_deer/deer_100.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/project_deer/deerlogo_sqr.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/project_mouser/100x100.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 15058f3

Please sign in to comment.