OSD/DPS Fall 2018 Open Source Project Ideas
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
- 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
- Others?
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
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
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
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
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
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
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