Recent Work

Here are some projects that I've been working on lately.

A screenshot of the documentation of my movie api.

FavMovie API

This is the server-side I built for my FavMovie app. It consists of a REST API and an architected database built using JavaScript, Node.js, Express and MongoDB. The REST API is accessed via commonly used HTTP methods like GET, POST, PUT and DELETE. The CRUD methods are used to retrieve data from the database which is non-relational. The documentation for the API, including a detailed list of endpoints is available here.

My API is hosted on heroku and my database is hosted on MongoDB Atlas.

Technical dependencies: HTML, ES6, Node.js, Express, MongoDB

A screenshot of my FavMovie App.

FavMovie React

For this project I built the frontend of my movie app by using React and Redux. Combining the frontend with my FavMovie app backend, I have finished my FavMovie App. With this App user can register an account with a username and an Email address. They can add movies into their favorite movies list and remove them from it, update their account info and delete their accounts. User info is secured by means of restricted cross-origin, JWT tocken and hashed password in my API.

My client side is hosted on Netlify.

Technical dependencies: HTML, ES6, SCSS, React, Redux, React-Bootsrap, Parcel, Axios.

A screenshot of my Meet App.

Meet App

Within this project, I built a serverless, progressive web application (PWA) with React by using test-driven development (TDD) technique. The documentation (acceptance test) of the app was built by applying the behavior-driven development (BDD) technique. An end-to-end test was conducted on this App as well. The Meet App uses OAuth 2.0 to access the Google Calendar API.

User can login the Meet App with their google account. A list of upcoming events for developers in different cities (simulating data) can be accessed. User can filter events by city and selecting the number of event to be shown. Details of events can be shown or hidden.

My serverless auth-API is hosted on AWS Lambda and the client side is hosted on GitHub Pages.

Technical dependencies: HTML, ES6, CSS, React, Rechart, PWA, serverless, axios, jest, jest-cucumber, enzyme, puppeteer.

A screenshot of my pokodex website.

FavMovie Angular

This is another client side I built for my FavMovie app and it was built with Angular. For the backend I used my Movie API. This App basically has the same features as the FavMovie React. Only instead of showing seperate views for 'Synopsis', 'Genre' and 'Director' like the React App, this App shows a modal for each of them.

This app is hosted on GitHub Pages.

Technical dependencies: TypeScript, Angular, Angular Material, SCSS, TypeDoc

A screenshot of my pokodex website.

Chat App

For this project I built a native mobile chat app by using React Native, Expo and Google Firestore Database. The App contains a start screen and a chat screen. Users will be greeted with the start screen, where they can enter their name and choose a background color for the chat screen. After entering the chat screen, the user can start chatting with other users, including sending images (after the user's consent, picking images from the Handy's media libary or taking a photo directly via Handy's camera) and locations. Chatting history can be shown, when use is offline.

A detailed setting up instruction for this app is available on my Github.

Technical dependencies: JavaScript, React Native, Expo, GiftedChat, Firebase

A screenshot of my pokodex website.

Pokedéx App

This project is a small Pokédex app to display a list of Pokémons (1154 entries). It loads data from an external Pokémon API. By clicking on each item, user can view details for that item. User can also search pokémons by their names.

This app is hosted on GitHub Pages.

Technical dependencies: HTML, CSS, ES6, Bootstrap