This is a react based web app for playing a rummy style card game called Shanghai. The website is is live at:
The main technologies used in this project are:
- Bootstrap - CSS framework
- React and create-react-app - library for building user interfaces
- Firebase Realtime Database - backend database
- Heroku - pipeline and deployment
Make sure you have the following installed:
- Install Node 8 or newer. Need to run multiple versions of Node? Use nvm or nvm-windows
- Clone this repo:
git clone https://github.com/claudiaareneee/shanghai.git
- Navigate to this project's root directory on the command line.
- Install Node packages
npm install
- Install React developer tools and Redux Dev Tools in Chrome.
- Having issues? See below.
- Run
npm install
- If you forget to do this, you'll get an error when you try to start the app later. - Don't run the project from a symbolic link. It will cause issues with file watches.
- On Windows? Open your console as an administrator. This will assure the console has the necessary rights to perform installs.
- Ensure you do not have NODE_ENV=production in your env variables as it will not install the devDependencies. To check run this on the command line:
set NODE_ENV
. If it comes back as production, you need to clear this env variable. - Nothing above work? Delete your node_modules folder and re-run npm install.
To run this project locally, run the following command:
npm run start-dev
Heroku requires a simple server to be spun up. Heroku runs:
npm start
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Your Name - claudiaareneee@gmail.com
Project Link: https://github.com/claudiaareneee/shanghai/
Dependency | Use |
---|---|
bootstrap | CSS Framework |
express | Server library to help deploy to heroku |
express-favicon | Companion library for express |
firebase | Firebase library for the backend database |
immer | Helper for working with immutable data |
prop-types | Declare types for props passed into React components |
node-sass | Node.js bindings to libsass |
react | React library |
react-dom | React library for DOM rendering |
react-redux | Connects React components to Redux |
react-router-dom | React library for routing |
react-toastify | Display messages to the user |
redux | Library for unidirectional data flows |
redux-thunk | Async redux library |
reselect | Memoize selectors for performance |