Chih-Hao Chen
Full-Stack Developer
Chih-Hao Chen
Full-Stack Developer
This project is developed mainly with Vue.js. The generated static HTML files are deployed in GitHub. My initial purpose in building this website with JS is to separate the front-end development from the back-end database. Thus anyone can reuse my repository to build up their portfolio website by configuring their API calls and populating their back-end database.
The database is in JSON format deployed in Firebase, while all the images and PDF files are stored in Amazon S3. Once the API data gets fetched, Vuex, a well-known framework for state management, is exploited to mutate the state variables associated with the database data. The Nuxt framework has been embedded in this repository for SPA (Single Page Application). Finally, as for the UI components, Vuetify is used for the material design of this portfolio side-project. This website is also compatible with popular browsers in mobile devices.
The original purpose of this project is to extend the previous work on a mockup of Apple abpp Store. This App makes API requests from News API that offers news articles and headlines from over 30000 sources. Therefore the reason I chose this topic is that not only can I hone my skills in iOS application development but keep a close eye to the things around the world.
Later I found that even though there are quite many Apps offering News service, I still do not see a good enough App to read news articles in different languages. Therefore I intend to continue this project to make it a news client App for polyglots so that they can read and save the articles in their journeys of learning languages.
This app mocks up the Apple app store with programmatical auto-layout. It consists of a snapping collection view layout to allow users to swipe left or right with ease. Besides, this app also exploits the layout constraints to perform UI animations when swiping down, and floating views associated with scrolling.
Furthermore, it allows users to search for music singles or albums with pagination and look for apps with keywords. All the apps found can be clicked further to show users the screenshots, reviews, prices, etc.
This back-end API was deployed in DigitalOcean and could accessed through API requests. It was built based on MongoDB, a non-SQL database, with Node.js.
The authentication process covers Facebook, LINE, and email authentication presently. As for the email authentication, the developed back-end will send the user a token for users to perform operations associated with authorization.
Socket-io is employed to allow users to chat with each other once they get enrolled in the same events. Besides, the service of Amazon S3 is exploited to upload images/pictures. The back-end server does not store the photos to protect users' privacy.
Users and trainees can search the database either with the names of users or the names of events. Furthermore, users can review activities and trainers. Then a recommended list of the related activities can be offered to users.