Thanks for taking the time to contribute! 😄
git clone https://github.com/victorfeijo/chess95
npm i
The project comes packaged with a docker-compose file preconfigured for hot-reloading.
npm run dev
Running the command above in the root directory starts Docker-ized instances of the client, API, and database.
The API and client configuration files share the same structure and can be found in their respective /src/config folders. In a development environment, values are referenced inside the docker-compose configuration files.
The authentication feature is not being used at this project, so if you want to learn more about it check the full documentation.
The Chess 95 comes with tests for both the API and client. We highly encourage you to maintain them during development.
You can find API tests in the api/spec
folder and the client tests inside each React components folder.
To run client-side tests,
npm run client-test
To run server-side tests,
npm run api-test-watch
Chess 95 is currently being deployed to Heroku. Feel free to try any other cloud provider of your choice, AEboilerplate was built to be deployed anywhere.
Prerequisites:
- Heroku cli
- Heroku account
- This boilerplate relies on an authentication process to work properly. Make sure you have been through the authentication configuration.
- In your project directory, run
heroku login
and enter your credentials. - Run
heroku create APP_NAME
to create your Heroku application. Copy your application URL for later steps. - Navigate to your application in the heroku apps dashboard and go to the Resources tab. Under Add-ons, add a postgres database by searching for postgres in the search field. A
DATABASE_URL
configuration variable is generated upon creation. - As described in the Configuration section, the current application is not using authentication but in order to work it needs to be configured. For each chosen provider a set of environment variables needs to be provided. By default Google, Facebook and Linkedin are the current providers, so for each of these providers a collection of variables should be set. Navigate to your application's Settings tab in your Heroku dashboard. Click on Reveal Vars and set the following values:
GOOGLE_ID
,FACEBOOK_ID
andLINKEDIN_ID
: the clients ID's or random valuesGOOGLE_SECRET
,FACEBOOK_SECRET
andLINKEDIN_SECRET
: the clients secret's or random valuesGOOGLE_CALLBACK_URL
,FACEBOOK_CALLBACK_URL
andLINKEDIN_CALLBACK_URL
: Respectivelyhttps://[YOUR_HEROKU_APPLICATION_URL].herokuapp.com/api/auth/google/callback
,https://[YOUR_HEROKU_APPLICATION_URL].herokuapp.com/api/auth/facebook/callback
andhttps://[YOUR_HEROKU_APPLICATION_URL].herokuapp.com/api/auth/linkedin/callback
SUCCESS_LOGIN_REDIRECT_URL
:https://[YOUR_HEROKU_APPLICATION_URL].herokuapp.com/connect
Deploy your application to Heroku by running:
git push heroku master
So, you want to write some code? Great! To begin hacking, I encourage you to read Git Style Guide and How to Write a Git Commit Message. If you want to do a big change to the code, don't isolate yourself and write all alone. Open a issue first so we can discuss more about it. Afterward, feel free to open a issue or a pull request at any time.