Full Stack Web Application using ReactJS+Redux with NodeJS (Express+TypeORM), RESTful API, MySQL and Swagger Documentation
- 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
- Unit & Component Testing using Jest, Mocha, Chai and react-testing-library
Frontend
Technology stack:
- JavaScript (ES6+)
- ReactJS with React-Router
- Redux.js with Redux-Saga
- Material UI framework
- styled-components
- Unit & Component Testing using Jest and react-testing-library
Backend
Technology stack:
- TypeScript
- NodeJS with Express.js framework
- TypeORM
- MySQL database
- RESTful API with Basic & JWT Authentication
- Swagger Documentation
- Unit Testing using Mocha and Chai
Requirements
- yarn v1.17+
- NodeJS v8+
- MySQL v5.6+
Installation
for Frontend:
- Clone this repository and enter the
frontend
directory - Change
BASE_URL
in/app/utils/api.js
to your localhost server - Install the dependencies by running
yarn
- Start the project by running
yarn start
for Backend:
- Clone this repository and enter the
backend
directory - Create 2 MySQL databases. (One for testing & other as main database)
- Copy the
env.example
and create a new.env
file from it. - Set the configuration parameters there (App port, app host, database host, port, username, password etc)
- Install the dependencies by running
yarn
- Start the project by running
yarn start
License
This project is licensed under the MIT license. Copyright (c) 2019 Adrian Pietrzak.