List of projects

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.

label Python
label Tkinter
label Computing
label Excel
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.

label Android
label Kotlin
label StudyBuddy
label Firebase
label Android Jetpack
label Material Design
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.

label Web-dev
label Angular
label TypeScript
label StudyBuddy
label Firebase
label Material Design
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.

label Web-dev
label Angular
label RSS Reader
label Material Design
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:

label Angular
label Library
label YouTube Data v3 API
label API
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.

label Angular
label Library
label HTTP
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.

label SCCL
label Game
label Android
label iOS
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:

This website is the 2nd iteration of the original website which used the following frameworks:

label Web-dev
label AngularJS
label AngularJS Material
label JavaScript
label Material Components for Web
label Material Design
label GitHub Pages
label GitHub Actions
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 the docs 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.

label GitHub Pages
label GitHub Actions
label Jekyll
label Build and Deploy
label Continuous Integration