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 Blackboard & Student Centre Extensions for Google Chrome
- 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 12. Goblin Camp Stone Soup
- 1.13 13. apollo
- 1.14 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/DarkChatter Discord: https://discord.gg/CUsaedN
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 Blackboard & Student Centre Extensions for Google Chrome
New project to build Google Chrome extensions to fix various Seneca Blackboard & Student Centre websites and their UI/UX issues:
- Seneca Blackboard (Repo: SenecaBlackboardExtension)
- Remove useless parts of the website:
- Seneca News
- Seneca Spotlight
- Did You Know?
- Quickly
- Useless announcements (Full-Time Student News, Student News)
- More?
- Add new features:
- Organize modules that left after removing useless parts
- New module dedicated to important dates
- Announcements should show date, either as year, month, and day, or X days ago
- Split up announcements and marks notifications in the top right corner on the main page
- Button to switch to original version of Blackboard
- Add the email link to the login page
- Add the MySeneca.Help link to the my.senecacollege.ca sign in page
- Add Reset/Forgot password on this sign in page
- Remove useless parts of the website:
- Student Centre (Repo: StudentCentreExtension)
- Add new features:
- Organize modules
- Make course selection easier by having something function similar to this example
- Main display should be changed to full width of the screen
- Add new features:
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
- Vincent Wong
- Yuecheng Wu
- Allan Zou
- Victor Kubrak
- Andriy Yevseytsev
- Charlotte Baptist
- Peng Qu
- Xuan Dinh Truong
- Ryan Vu
- Deepanjali Gerangal
- Xiaochen Wang
- Dan Lin
- Qingwen Wang
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: CodeTalker
Join our Slack Channel: CodeTalker
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
- Dilan Guneratne
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
- Yuzhou Chen
- Minying Chen
- Julia Yatsenko
- Shawn Mathew
- Julia McGeoghan
- Derrick Leung
- Derrick Leung
- Karan Sandhu
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
Join the slack group for more information or questions.
Slack: NodeChatApp
Research
- Topics that could be researched JSON web Tokens, RethinkDB and whats involved to make it available on npm.
People
- Corey James
- Thanh Nguyen
- Minying Chen
- Joshua Jadulco
- Mera Gangapersaud
- Mark Krutik
- Oleksii Kozachenko
- Ruihui Yan
- Xuan Dinh Truong
- Xiaochen Wang
- Dilan Guneratne
- Thomas Nolte
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
Join our Discord Group: Solitary Chat
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
- Steven Le
- Adam Pucciano
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.
- Gitter discussion: https://gitter.im/supernova-rust/Lobby
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
- Huda Al Dallal
- Yuecheng Wu
- Yeonwoo Park
- Mark Krutik
- Ruihui Yan
- Charlotte Baptist
- Xiaochen Wang
- Peng Qu
- Xuan Dinh Truong
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
- [Joshua Mayers]
12. Goblin Camp Stone Soup
This project is a fork of a project called Goblin Camp, a clone of Dwarf Fortress. It is written in C++, and includes its own version of Boost and libtcod along with other dependencies.
Repo: Goblin Camp on Github
Call-to-arm: Small Introduction
Research
We will be focusing on, in this order:
- bringing the project up-to-speed in terms of its included libraries and dependencies,
- profiling, testing, and understanding various bottlenecks,
- and start improving performance while also implementing features from Dwarf Fortress.
People
13. apollo
A webscraper written in C++ using the cURL library. Scrapes and stores information about upcoming music albums to a local database.
Repo: apollo
Research
Uses cURL for webscraping and PostgreSQL as the db.
Going to be used as the backend for mobile applications but you can fork the repo once it's done for personal use if you'd like :)
More information available in the README in the repo
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