Difference between revisions of "OSD/DPS Fall 2018 Open Source Project Ideas"
(→1. DarkChatter decentralized messaging over low-level WiFi) |
(→9. Seneca Student Resume/Portfolio Static Site Generator) |
||
(43 intermediate revisions by 18 users not shown) | |||
Line 12: | Line 12: | ||
New project to build ad-hoc, mesh-networking style messaging. | New project to build ad-hoc, mesh-networking style messaging. | ||
− | Repo: https://github.com | + | Repo: https://github.com/DarkChatter |
Discord: https://discord.gg/CUsaedN | Discord: https://discord.gg/CUsaedN | ||
Line 31: | Line 31: | ||
* [https://github.com/AHKol Adam Kolodko] | * [https://github.com/AHKol Adam Kolodko] | ||
* [https://github.com/iblacker Ruihui Yan] | * [https://github.com/iblacker Ruihui Yan] | ||
+ | * [https://github.com/dleung25 Derrick Leung] | ||
+ | * [https://github.com/danielbogomazov Daniel Bogomazov] | ||
== 2. Seneca Blackboard & Student Centre Extensions for Google Chrome == | == 2. Seneca Blackboard & Student Centre Extensions for Google Chrome == | ||
Line 50: | Line 52: | ||
*** Split up announcements and marks notifications in the top right corner on the main page | *** Split up announcements and marks notifications in the top right corner on the main page | ||
*** Button to switch to original version of Blackboard | *** 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 [https://my.senecacollege.ca/webapps/login/?action=relogin sign in] page | ||
* Student Centre (Repo: [https://github.com/yevseytsev/StudentCentreExtension StudentCentreExtension]) | * Student Centre (Repo: [https://github.com/yevseytsev/StudentCentreExtension StudentCentreExtension]) | ||
Line 77: | Line 81: | ||
* [https://github.com/struong9 Stephen Truong] | * [https://github.com/struong9 Stephen Truong] | ||
* [https://github.com/jagmeetb Jagmeet Bhamber] | * [https://github.com/jagmeetb Jagmeet Bhamber] | ||
− | |||
* [https://github.com/VinceBackpack Vincent Wong] | * [https://github.com/VinceBackpack Vincent Wong] | ||
* [https://github.com/YuechengWu Yuecheng Wu] | * [https://github.com/YuechengWu Yuecheng Wu] | ||
Line 85: | Line 88: | ||
* [https://github.com/charBap Charlotte Baptist] | * [https://github.com/charBap Charlotte Baptist] | ||
* [https://github.com/Peng-Qu Peng Qu] | * [https://github.com/Peng-Qu Peng Qu] | ||
+ | * [https://github.com/susantruong Xuan Dinh Truong] | ||
+ | * [https://github.com/pynnl Ryan Vu] | ||
+ | * [https://github.com/deepanjali19 Deepanjali Gerangal] | ||
+ | * [https://github.com/xwang345 Xiaochen Wang] | ||
+ | * [https://github.com/DinahLin Dan Lin] | ||
+ | * [https://github.com/qwang135 Qingwen Wang] | ||
== 3. Speech-To-Text for HTML Coding in VSCode == | == 3. Speech-To-Text for HTML Coding in VSCode == | ||
Line 92: | Line 101: | ||
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. | 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: [https://github.com/PopeSpaceous/CodeTalker | + | Repo: [https://github.com/PopeSpaceous/CodeTalker CodeTalker] |
Join our Slack Channel: [https://join.slack.com/t/codetalkerworkspace/shared_invite/enQtNDcyMjQ4MjYzNzMwLTYzMjM4MDUwMzAzYTc1MjBhNDNjZWM5MGU5Y2FkODUzMWZjM2M4NjJlZGZkYjIwNTNlYzM1NGQxOGYzNDUyOTY CodeTalker] | Join our Slack Channel: [https://join.slack.com/t/codetalkerworkspace/shared_invite/enQtNDcyMjQ4MjYzNzMwLTYzMjM4MDUwMzAzYTc1MjBhNDNjZWM5MGU5Y2FkODUzMWZjM2M4NjJlZGZkYjIwNTNlYzM1NGQxOGYzNDUyOTY CodeTalker] | ||
Line 152: | Line 161: | ||
* [https://github.com/AlexeiGitH Oleksii Kozachenko] | * [https://github.com/AlexeiGitH Oleksii Kozachenko] | ||
* [https://github.com/pynnl Tien Phat Vu] | * [https://github.com/pynnl Tien Phat Vu] | ||
+ | * [https://github.com/dnguneratne Dilan Guneratne] | ||
== 5. Seneca Student Personal GitHub Dashboard == | == 5. Seneca Student Personal GitHub Dashboard == | ||
Line 176: | Line 186: | ||
* [https://github.com/deepanjali19 Deepanjali Gerangal] | * [https://github.com/deepanjali19 Deepanjali Gerangal] | ||
* [https://github.com/jagmeetb Jagmeet Bhamber] | * [https://github.com/jagmeetb Jagmeet Bhamber] | ||
− | |||
* [https://github.com/yuzhouChen Yuzhou Chen] | * [https://github.com/yuzhouChen Yuzhou Chen] | ||
* [https://github.com/Janice0218 Minying Chen] | * [https://github.com/Janice0218 Minying Chen] | ||
Line 182: | Line 191: | ||
* [https://github.com/sjmathew Shawn Mathew] | * [https://github.com/sjmathew Shawn Mathew] | ||
* [https://github.com/jkmdev Julia McGeoghan] | * [https://github.com/jkmdev Julia McGeoghan] | ||
− | |||
* [https://github.com/dleung25 Derrick Leung] | * [https://github.com/dleung25 Derrick Leung] | ||
+ | * [https://github.com/dleung25 Derrick Leung] | ||
+ | * [https://github.com/ksandhu16 Karan Sandhu] | ||
== 6. NodeChat == | == 6. NodeChat == | ||
Line 189: | Line 199: | ||
Exiting project for a Node.js, React chat app. Needs work to make it standalone and published on npm | Exiting project for a Node.js, React chat app. Needs work to make it standalone and published on npm | ||
− | Repo: https://github.com/ | + | Repo: https://github.com/OTRChat/NodeChat |
− | Slack: https://join.slack.com/t/nodechatapp/shared_invite/enQtNDcxNjgzODE1ODA5LTkzZDg4NWVkNzE3NDZjYzQ3MTM5Mzg4NWZlYmJmMGNmMjJmZmU2OTAwNjJiYWYwNDUyYWE5YWQ0MGE0YWIzYjY | + | Join the slack group for more information or questions. |
+ | |||
+ | Slack: [https://join.slack.com/t/nodechatapp/shared_invite/enQtNDcxNjgzODE1ODA5LTkzZDg4NWVkNzE3NDZjYzQ3MTM5Mzg4NWZlYmJmMGNmMjJmZmU2OTAwNjJiYWYwNDUyYWE5YWQ0MGE0YWIzYjY NodeChatApp] | ||
=== Research === | === Research === | ||
− | * | + | * Topics that could be researched JSON web Tokens, RethinkDB and whats involved to make it available on npm. |
=== People === | === People === | ||
Line 207: | Line 219: | ||
* [https://github.com/AlexeiGitH Oleksii Kozachenko] | * [https://github.com/AlexeiGitH Oleksii Kozachenko] | ||
* [https://github.com/iblacker Ruihui Yan] | * [https://github.com/iblacker Ruihui Yan] | ||
+ | * [https://github.com/susantruong Xuan Dinh Truong] | ||
+ | * [https://github.com/xwang345 Xiaochen Wang] | ||
+ | * [https://github.com/dnguneratne Dilan Guneratne] | ||
+ | * [https://github.com/ThomasNolte Thomas Nolte] | ||
== 7. Unity side-scrolling video game in C# == | == 7. Unity side-scrolling video game in C# == | ||
Line 242: | Line 258: | ||
* [https://github.com/iblacker Ruihui Yan] | * [https://github.com/iblacker Ruihui Yan] | ||
* [https://github.com/dragomegak Steven Le] | * [https://github.com/dragomegak Steven Le] | ||
+ | * [https://github.com/Pooch11 Adam Pucciano] | ||
== 8. Supernova == | == 8. Supernova == | ||
Line 285: | Line 302: | ||
* [https://github.com/iblacker Ruihui Yan] | * [https://github.com/iblacker Ruihui Yan] | ||
* [https://github.com/charBap Charlotte Baptist] | * [https://github.com/charBap Charlotte Baptist] | ||
+ | * [https://github.com/xwang345 Xiaochen Wang] | ||
+ | * [https://github.com/Peng-Qu Peng Qu] | ||
+ | * [https://github.com/susantruong Xuan Dinh Truong] | ||
== 10. Youtube Video Resumer - Remember where you left off== | == 10. Youtube Video Resumer - Remember where you left off== | ||
Line 321: | Line 341: | ||
* [https://github.com/shreenaathia Shreena Athia] | * [https://github.com/shreenaathia Shreena Athia] | ||
* [Joshua Mayers] | * [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: [https://github.com/y2s82/goblin_camp Goblin Camp on Github] | ||
+ | |||
+ | Call-to-arm: [http://shavedyak.blogspot.com/2018/11/me-and-7-dwarves.html 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 === | ||
+ | * [https://github.com/y2s82 Tony Sim] | ||
+ | * [https://github.com/rdittrich97 Robert Dittrich] | ||
+ | |||
+ | |||
+ | == 13. apollo == | ||
+ | A webscraper written in C++ using the cURL library. Scrapes and stores information about upcoming music albums to a local database. | ||
+ | |||
+ | Repo: [https://github.com/danielbogomazov/apollo-backend 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 === | ||
+ | * [https://github.com/danielbogomazov/apollo-backend Daniel Bogomazov] | ||
+ | |||
== Other ideas presented == | == Other ideas presented == |
Latest revision as of 19:58, 21 November 2018
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