- Hands on experience in Redux and relative middleware such as Thunk to handle async action dispatch and implemented React-Redux.
- Involved in using React-Router and React-Responsive to turn the application into a single page application and responsive design.
- Proficient in integrating different third-party libraries from npm into projects.
- Worked with various UI library such as Material UI, Ant Design, Bootstrap, Semantic UI and flexibly used them with CSS pre-processors Sass.
- Experienced with both SQL and NoSQL databases such as MongoDB, MySQL and PostgreSQL
- Hands on experience in Node.js with its web frameworks like Express.jsand Koa. Integrated MongoDB or MySQL with Node.js using mongoose and node.js-mysql library to implement complex query.
- Experience indevelopingRESTful API with Node.js to implement CRUD with JSON data.
- Testing and debugging project with Jasmine, Jest and Chrome Dev Tool.
- Knowledge of full stack development design patterns such as MVC.
- Hands on experience of data mining and web scrap with Scrapy, BeautifulSoup.
- Hands on experience with Git and Github.
- Experienced in Java with Spring, Struts, Hibernate framework.
- Experienced in Angular with TypeScript to build some websites.
- Expert in VScode, IDEAandMyEclipse with advanced debug tools and extensions.
- Experienced in deploying Node.js backend project to AWS EC2 with Nginx to implement load balance
- Developed real-time web application with Socket.io and implemented Redis as the cache to store temporary data.
- Implemented JsonWebToken and Auth0 for user authentication, encryption, and identification. Used Local Storage, Session to store temporary information.
- Experienced in software development life cycle from planning, requirements analysis, design, coding, unit testing, and acceptance testing to deploying and maintaining. Following the Agile methodology.
- Knowledge of SCRUM for managing tasks with a small team member.
FrontEnd: React, Redux (Thunk), Bootstrap, Sass, Axios, Webpack, Socket.io, Jasmine
BackEnd: Node.js, Express.js, Spring, Hibernate, mongoose, RabbitMQ, Nginx, JWT
Mobile App: React Native, Expo
Database/Tools: MongoDB, Redis, MySQL, Git, npm
Knowledge: SCRUM, Design Patterns (MVC), Data Wrangling, RESTAPI, AWS
Project Management: JIRA, Asana
Confidential, Santa Clara, CA
- Designed and implemented an Enterprise Warehouse Management Systemto manage the store's inventory of products and items.
- Used Ant Design framework to display a concise and unified user interface.
- Implement Redux to help application manage state and created store, reducers and actions.
- AppliedRedux-Thunk to handle asynchronous dispatching of actions such as http request.
- Usedreact-redux library with connect to connect redux with react application.
- Used Axios.js to send http request from the client to the server.
- Stored local state in components to handle input box, form and modal state.
- Mapped redux store and actions to props in container and passed to functional component.
- AppliedPropTypeslibrary to check the correctness of props in each component.
- Designed a dashboard to show the list of all products with image, name, number, store, manager, etc. each item could be edited and deleted by manager who has correct authority. Each list column can be sorted with ascending or descending order through MongoDB query.
- Implemented search feature with Regular Expression that allows theuser to search without refreshing page.
- Implemented pagination features that divided thousands of items into different pages.
- Implemented Date Picker to add date and Selectorto choose classification dynamically.
- With Form Validation, user will get error or warning when invalid input is made.
- Implemented authentication that user could create and login their own account to browse and manage responsible inventory with JsonWebToken.
- Used FormData type to upload image of products with jQuery File Upload.
- Developed the platform back-end based on Node.js with Express.js to achieve REST API.
- Chosen MongoDB as database to store all of data including products and managers. Implemented mongoose to operate MongoDB as object modeling tool to work in an asynchronous environment.
- Designed Schema for products and managers to accommodate complex query selector.
- Implemented Multer to handle image upload, rename the image, upload to external public folder and store image address into database.
Confidential, Redwood City, CA
- Developed a shopping platform for registered customers to shopfor their favorite products.
- Followed the Agiledevelopment methodology, daily stand-up meetings with team member to discuss update and tasks.
- Experienced all aspects of the web applications including design, developing, maintaining, testing, debugging and deploying.
- Designed the layout withBootstrapas UI library and CSS3 to create responsive design.
- Used Ajax to send http requests asynchronous calls to server and fetch data with Requests.
- Developed JSON based RESTful back-end on Node.js and Express.
- Designed MySQL database with entity relationship diagramandwroteSQLqueries.
- ImplementedPool Connection which can handle many requests and queries concurrently.
- Used Selectors, Events and DOM Manipulation modules in jQuery for updating and dynamically rendering content on DOM nodes.
- Handled image uploading with Dropzon.js and image crop which allows user to edit the size of images and sent images to back-end within FileList.
- Implemented Server-side Validation to dynamically check user registration information availability.
- Implemented user authentication, encryption, and identification with SHA1 and Salt. Customers information such as passcode, email, phone number is stored in database encoded. Once someone login to the platform, the Node.js back-end will generate a token which contains customer’s identity and sendsToken to the front-end.
- User authentication Token will be stored in local storage within browser. Secured http/web Sockets requests with JWT and authorization middleware to prevent unauthorized operations.
- Used Git version control tool and GitHub to maintain the source code.
- Performed Unit testing on front-end using tools like Jasmine and worked with Gulp tool for build automation.
- Optimized front-end performance and speed following Google PageSpeed Insights.
- Designed and developed a Ticketing System for Confidential Grand Theater.
- Implement JavaEE based web application back-end with Spring, Struts and Hibernate.
- Used MyEclipsewhich provides a rich plug-in environment with framework configurations.
- Developed system into threeparts following MVC structure:
- Presentation layer: Implemented Struts2 framework and coded configuration file to handle user inputs or requests. This layer is constructed by a series JSP pages and Servlets, according to struts.xml, dispatched actions tocorrespondingservice layer.
- Service layer: Implemented Springwith a series controller to execute user requests, calldifferentbusiness logic methods,encapsulate persistence methods, update back-end responses to presentation layer and manage JavaBean.
- DAO and Model: With Hibernate combination, converted data between incompatible type using object-oriented programming languages (ORM) to implement CRUD with database.
- Chosen MySQL as database, used Hibernate Query Language to operate database.
- Deployed the server on Apache Tomcat as Java servlet container.
- Implemented user authenticationwith administration dashboard which allowsadministratorto manage othermodulesinside the system.
- Designed front-end UI with Ext.js framework and jQuery. Designed a GUI based form controls in the front-end with tab panels, list box, toolbars, sidebar, tree control and grid control.
- Sent data from client side to server through Ajax with JSON data.
- Used Postmanchrome extension to mock HTTP requests and tested back-end functionand reliability.
- Implemented auto-generation feature to export recordinformation as document by Jacob.