OSD/DPS Fall 2018 Open Source Project Ideas
Contents
- 1 OSD/DPS Fall 2018 Open Source Projects
- 1.1 1. DarkChatter decentralized messaging over low-level WiFi
- 1.2 2. Seneca Web Extension
- 1.3 3. Speech-To-Text for HTML Coding in VSCode
- 1.4 4. Turn-based creative writing web app
- 1.5 5. Seneca Student Personal GitHub Dashboard
- 1.6 6. NodeChat
- 1.7 7. Unity side-scrolling video game in C#
- 1.8 8. Supernova
- 1.9 9. Seneca Student Resume/Portfolio Static Site Generator
- 1.10 10. Youtube Video Resumer - Remember where you left off
- 1.11 11. PySearch
- 1.12 Other ideas presented
OSD/DPS Fall 2018 Open Source Projects
This a first draft at starting some open source projects in our course. The following are the most requested projects as suggested by your colleagues.
Tips on starting an open source project:
- https://opensource.com/business/16/6/10-tips-new-github-projects
- https://opensource.guide/starting-a-project/
1. DarkChatter decentralized messaging over low-level WiFi
New project to build ad-hoc, mesh-networking style messaging.
Repo: https://github.com/rhayes2/DarkChatter
Research
- https://www.opengarden.com/firechat/ (proprietary) does something like this over bluetooth and wifi on iOS and Android
- Android supports WiFi Direct https://developer.android.com/reference/android/net/wifi/p2p/package-summary (iOS doesn't seem to)
- Pure p2p wifi at low level doesn't seem supported without rooting your Android Phone
- https://github.com/moarpepes/awesome-mesh#software has some good links to mesh networking projects we might be able to use
- https://scapy.readthedocs.io/en/latest/
- https://www.wireshark.org/download.html
People
2. Seneca Web Extension
New project to build a browser extension to fix various Seneca web sites and their UI/UX issues:
- Blackboard
- Remove useless parts of website like Seneca News, Seneca Spotlight, Did You Know?, Quickly
- Remove useless announcements (Full-Time Student News, Student News)
- Announcements should show date, either as year, month, and day, or X days ago
- New module dedicated to important dates
- Split up announcements and marks notifications in the top right corner on the main page
- Student Centre
- Make course selection easier by having something function similar to this example
- Main display should be changed to full width of the screen
Repo: SenecaBlackboardExtension
Research
- Could fork Refined Twitter or Refined GitHub to get started. Both do something similar to what we'd need.
- Lots of other existing browser extension projects on GitHub
- Example from uwaterloo learn-darklight
- What kind of Fixes do we need?
- ?
- ?
People
- Thanh Nguyen
- Julia Yatsenko
- Huda Al Dallal
- Brendan Hung
- Brett Larney
- Minying Chen
- Stephen Truong
- Jagmeet Bhamber
- Xuan Dinh Truong
- Vincent Wong
- Yuecheng Wu
- Allan Zou
- Victor Kubrak
- Andriy Yevseytsev
- Charlotte Baptist
3. Speech-To-Text for HTML Coding in VSCode
New project to build a Visual Studio Extension that allows voice commands for creating HTML documents.
Need to write a VSCode Extension, pick a Speech-To-Text library to integrate, create a "grammar" or "vocabulary" bound to commands for inserting HTML tags.
Repo: [1]
Research
- Lots of other existing VSCode extension projects on GitHub
- https://docs.ourcodeworld.com/projects/artyom-js for voice commands?
- https://github.com/googleapis/nodejs-speech
- https://github.com/mozilla/DeepSpeech#using-the-nodejs-package
- https://code.visualstudio.com/docs/extensions/overview
- https://voicecode.io/#about Speech to code Example program
People
4. Turn-based creative writing web app
New project to build a turn-based creative writing app, where people can collaborate on writing stories and practice their creative writing skills.
Goal is a real time creative writing collaboration 'game'. Each participant takes a turn to add a limited amount of text (ie: 100 words max) to write a short story. Each story will have a maximum of 10 writers and a minimum of 2 who can be anonymous or invited friends.
Repo: Creative Collab
Slack: Creative Collab App
Research
- Lots of existing editor tech we could use:
- Questions:
- Support for Mobile?
- Support for text based?
- Support for other platforms? Slack, Discord, ???
- Serverless or with a backend? Do you want accounts, publishing, etc, or p2p with some kind of WebRTC style networked system?
- Publishing of final product into different formats? e.g., https://github.com/asciidoctor/asciidoctor.js
People
- Mera Gangapersaud
- Sean Prashad
- Nathan Misener
- Volodymyr Klymenko
- Vincent Wong
- Shawn Pang
- Mark Krutik
- Oleksii Kozachenko
- Tien Phat Vu
5. Seneca Student Personal GitHub Dashboard
New project to create a web-based GitHub Dashboard suitable for Seneca students doing open source. Some ideas:
- track status of things you've worked on (Issues, Bugs, Projects)
- track projects you want to try next, showing you possible good bugs you could do
Repository : GitHub-Dashboard
Research
- Lots of GitHub dashboards already exist that might do some of what we want.
- Even more web dashboard components and projects we could use
- GitHub API allows for querying data easily
People
- Thanh Nguyen
- Deepanjali Gerangal
- Jagmeet Bhamber
- Huda Al Dallal
- Yuzhou Chen
- Minying Chen
- Julia Yatsenko
- Shawn Mathew
- Julia McGeoghan
- Xuan Dinh Truong
- Yuecheng Wu
6. NodeChat
Exiting project for a Node.js, React chat app. Needs work to make it standalone and published on npm
Repo: https://github.com/OTRChat/NodeChat
Research
- ?
People
- Corey James
- Thanh Nguyen
- Minying Chen
- Joshua Jadulco
- Mera Gangapersaud
- Mark Krutik
- Oleksii Kozachenko
- Ruihui Yan
7. Unity side-scrolling video game in C#
Existing project, Unity based game engine/side-scroller puzzle game written in C#. Description: This game consists of 5 levels and a main hub. The player progresses through each level and solves puzzles in order to unlock the next level. Each level consists of 2 paths, a shorter path with less puzzles but they are harder in difficulty. And a longer path with more easier puzzles, but takes longer. There is a score system in place that is based off of time and number of puzzles solved. There are 3 difficulty variations to each puzzle. Here are a list of puzzles you'll see: Tangrams, Anagrams, Cryptogram, Image Scramble, Puzzle Template, Simon Says, Wire Connection, Word Passcode.
Lots of Issues currently in repo
Repo: Solitary
Research
- Correct Open Source License
- Adding code/compiling to work with https://webassembly.org/demo/
- Legality of using Royalty Free music/sound effects in an open source project
People
- Nathan Misener
- Brendan Hung
- Oluwaseyi Aketepe
- Yeonwoo Park
- Yuecheng Wu
- Victor Kubrak
- Andriy Yevseytsev
- Charlotte Baptist
- Ruihui Yan
8. Supernova
Existing command-line app in the preliminary stages to aggregate and download information about starred GitHub projects.
Repo: 0xazure/supernova
Languages/Libraries: Rust, Serde, GitHub API
Research
- Does this dove-tail at all with the GitHub dashboard project?
- Implement OAuth Authentication from the command line to e.g. add/remove stars for a GitHub account.
- Set up automated testing/linting with tools like Clippy on Travis CI.
People
9. Seneca Student Resume/Portfolio Static Site Generator
New project to create a resume/portfolio generator for Seneca students: simple static site generation for students using GitHub and github page(github.io).
Repo: Portfolio generator
Research
People
10. Youtube Video Resumer - Remember where you left off
A browser extension to remember where you left off on a Youtube video.
Repo: TBD
Research
- Existing extension for Chrome: https://chrome.google.com/webstore/detail/video-resumer/bongjkoajofkfpofginnhecihgaeldpe?hl=en
- The existing extension is very basic and only stores a list videos and where you left off. This project would create a playlist of unfinished videos along with an indicator of where you left off, then automatically remove videos from the playlist when you finish the video.
People
11. PySearch
Cross platform command-line utility for searching Amazon, Google, StackOverflow etc in your browser
Repo: pySearch
Research
- How to add command line commands to the Path for Unix or Windows
- Search strings for popular websites
- Test frameworks for Python
People
- Alex Kong
- [Wang Pan]
- [Shreena Athia]
Other ideas presented
- (NEW) Open Source Dwarf Fortress clone: ASCII style game
- (NEW) RSS bot for when wiki's are updated
- (NEW) YouTube bulk downloader using youtube-dl (provide a list of links to videos to download)
- (NEW) Social Media Dashboard - see analytics from multiple social media platforms
- (NEW) Web bot detector/blocker - Info here (https://www.youtube.com/watch?v=I3pNLB3Cq24) Interest - 1 add++
- (EXISTING) Cross platform command-line utility for searching Amazon, Google, StackOverflow etc in your browser
- (NEW) Test wrapper script for running tests from different frameworks
- (EXISTING) My Little Pony search GUI for data and analytics of existing, large fan fiction database; built with Java Swing
- (NEW) Text diff tool for dealing with non line-based changes