The whole project structure can be found on the Project Structure section.
We are glad to receive PRs from anybody who is interested. Follow these steps to contribute to this project -
- Install the required softwares listed in the README.
- Fork the repo
- Clone your forked repo
- Create a new branch on the cloned repo and switch to it
- Make changes to add, update or fix a feature
- Review/test/debug your changes by running the server locally
- Commit changes and submit a Pull Request (aka PR in short)
...and that's it! You're now a contributor!
If you're making small to medium changes, then you can use Gitpod to run the server for development purposes.
The easiest way to contribute to the project is by using Gitpod. Gitpod creates a completely running server for the project in an in-browser environment complete with VSCode as the editor of choice. No configuration required, it's all pre-configured for you! It's a one click to development experience. Start now by cicking the button below -
Firstly, open the terminal in the project folder. (The clone of your fork)
Then install all the dependencies by running -
npm i
Then set up the environment variables by running -
# macOS / Linux
cp sample.env .env
# Windows
copy sample.env .env
Then fill the databse with the sample data by running -
npm run fill-db
Note: You need MongoDB installed and running on your computer. In order to run this command successfully.
Then run the development server by running -
npm run dev
The E-Commercify
project being really big, it has been divided into three separate parts -
The project has some helpful scripts to get you up and running. The scripts are -
npm run start
- Runs the servernpm run dev
- Runs the server and restarts the server if any file is changednpm run debug
- Runs the server with--inspect
flag (this way we can use Chrome Dev Tools to debug the server) and restarts the server if any files is changed.npm run test
- Runs all the test using Jestnpm run eslint
- Runs ESLintnpm run fill-db
- Injects sample data into the database