List of projects
Application
Computing Performance Task 2018
Status: done
A Python program (made by me along with a peer for the purposes of a performance
task that required us to work in pairs or groups to create a new program that
would achieve a specific task) that allows the user to group a list of students imported
from an Excel spreadsheet or a CSV (comma-separated value) file into groups,
which can be exported as an Excel spreadsheet/CSV file.
This program is ideally meant to be run with Python v3.7.3 or higher. For more info about the project and on how to start it, check out the README file located at the root of the source code.
Application
StudyBuddy for Android
Status: in development
An app that helps you keep track of your tasks and events, as well as the ability to chat with your peers and a usage manager that indicates how long you’ve spent your time on your phone. This is the Android version.
The app uses the following products:
- Firebase
- Firebase Authentication - User authentication
- Firebase Crashlytics - To handle crashes
- Firebase Cloud Messaging - Message users
- Firebase Firestore - Store data
- AndroidX Libraries
- Material Components for Android
This app was based on an idea by the student counsellor of my school.
Application
StudyBuddy for web
Status: in development
An app that helps you keep track of your tasks and events, as well as the ability to chat with your peers. This is the web version.
The app uses the following products:
- Firebase
- Firebase Authentication - User authentication
- Firebase Firestore - Store data
- Firebase Hosting - Hosting the web version
- Angular v8
- Angular Material
- HTML + CSS + TypeScript (which is compiled to JavaScript by the Angular CLI)
This app was based on an idea by the student counsellor of my school.
Application
RSS Reader
Status: in development
An Angular app based on an example Angular app by BeCompany GmbH and updated to the latest version of Angular.
The app also includes features such as the ability for the user to specify a feed to be read into the RSS feed, as well as retrieving the headlines of a country and a refreshed interface. (The original app only had a list of cards which could be clicked on.)
Work on the app has been temporarily postponed for now.
Library
ngx-ytd-api
Status: archived
An unofficial Angular library wrapper of the YouTube Data v3 API.
The wrapper currently supports the following APIs:
- Comment threads/Comments (list/add/delete/edit comment threads/comments)
- Search (search for videos and/or channels and/or playlists)
- Videos (check if the specified video has been liked, list video’s details)
This library uses the following libraries:
ngx-simple-http
(Simplified HTTP requests)ng-packagr
(Used for packaging the library to be published to NPM)
Library
ngx-simple-http
Status: archived
An Angular wrapper of the HttpClient class provided by @angular/common/http
, but simplified to a few easy to understand methods. Also internally used by the ngx-ytd-api library.
For more info about HttpClient, view the docs.
Note: Development for this Angular library may soon be stopped in favour of a better Angular library such as ngx-api-utils
.
Application, Game
SCCLGame
Status: archived
An educational game made for the Singapore Chinese Centre of Learning Competition in 2017-2018 with two peers - Teo Wei Hao and Aakash Sanjay Mehta.
The app’s purpose was to aid children in primary schools in their Chinese studies and was supported on Android and iOS.
The project was submitted in late 2017 with a video showing how to play the game and a certificate of participation was awarded in late 2018.
The source code of the two apps was archived on 23 Aug 2018. Development of the apps has been ceased.
Website
Edric's website
Status: in development
This project is essentially the website you’re looking at right now.
The website uses the following technologies:
- Jekyll - The templating language that integrates with GitHub Pages
- GitHub Pages - For hosting the website
- Material Components for Web - For the website’s main interface (Material Design)
- HTML + CSS + JavaScript
- GitHub Actions - For building and deploying the website for every new commit
This website is the 2nd iteration of the original website which used the following frameworks:
- AngularJS
- AngularJS Material - Material Design for AngularJS
- HTML + CSS + JavaScript
GitHub Action
Build and deploy to GitHub Pages (GitHub Action)
Status: in development
As what the project name indicates, this is a GitHub Action with the intention of building and deploying a Jekyll site to GitHub Pages. (Note - this was specifically created to workaround the problems of GitHub not supporting specific plugins in GitHub Pages by manually building the Jekyll site instead of being automatically built by GitHub Pages.)
This project was heavily inspired by previous GitHub Actions which would perform a similar task but were outdated. My project also allows for additional options to be specified such as:
- the ability to invoke the
--force
flag when pushing the built site to GitHub Pages, which would override any old changes for the branch - supporting user pages that only allow deployment via the
master
branch or thedocs
folder.
The project is currently at version 2.6.0. The former version (version 1) is no longer supported as GitHub Actions no longer supports the former HCL workflow syntax.
For more info about the project, check out the source code or the GitHub Marketplace listing for the Action.