Skip to content

Personal banking web-app to integrate with paypal, cryptocurrency using React.js, Redux, Node, Typescript, webSocket, Material UI, Styled components, Unit testing.

Notifications You must be signed in to change notification settings

chris-jin-g/payment-integration-MERN-TypesScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Full Stack Web Application using ReactJS+Redux with NodeJS (Express+TypeORM), WebSocket, RESTful API and MySQL

  • An application created according to the best practices used in react-boilerplate
  • Relational model use of the MySQL database via TypeORM
  • Support for many currencies with the current rate charged by the REST API
  • Instant language change for English, Polish and German by using react-intl
  • Notification+Payment system in real time by using WebSocket (socket.io)
  • Unit & Component Testing using Jest, Mocha, Chai and react-testing-library

Frontend

Technology stack:

  1. JavaScript (ES6+)
  2. ReactJS with React-Router
  3. Redux.js with Redux-Saga & Redux-Persist
  4. WebSocket (socket.io)
  5. Material UI framework
  6. styled-components
  7. Unit & Component Testing using Jest and react-testing-library

Backend

Technology stack:

  1. TypeScript
  2. NodeJS with Express.js framework
  3. TypeORM
  4. MySQL database
  5. RESTful API with Basic & JWT Authentication
  6. Swagger Documentation
  7. Unit Testing using Mocha and Chai

Requirements

  • NodeJS v8+
  • npm v6+
  • MySQL v5.6+

Installation

for Frontend:

  1. Clone this repository and enter the frontend directory
  2. Change BASE_URL in /app/utils/api.js if you want to use localhost (defaults set is a official server)
  3. Install the dependencies by running npm install
  4. Start the project by running npm start

for Backend:

  1. Clone this repository and enter the backend directory
  2. Create 2 MySQL databases. (One for testing & other as main database)
  3. Copy the env.example and create a new .env file from it.
  4. Set the configuration parameters there (App port, app host, database host, port, username, password etc)
  5. Install the dependencies by running npm install
  6. Start the project by running npm start

License

This project is licensed under the MIT license. Copyright (c) 2019 Adrian Pietrzak.

About

Personal banking web-app to integrate with paypal, cryptocurrency using React.js, Redux, Node, Typescript, webSocket, Material UI, Styled components, Unit testing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published