Thank you for considering and taking the time to contribute! Product focuses on 100% quality education free for all.
The following are guidelines for contributing to this project.
Before starting, you need to install the following on your computer.
- Node.js
- Git
- npm
- MongoDB
- Fork the repo
- Clone the repository
Client:
- Create a new Firebase project by logging in to the Firebase console and clicking the "Add project" button.
- Enter a name for your project and continue with the setup process.
- Add a web app to your project by clicking the "Add app" button and selecting "Web".
- Give your web app a name and register it.
- Copy the Firebase configuration object from the Firebase console (under "Project settings" > "General" > "Your apps" > "Firebase SDK snippet").
- Save the
firebaseConfig
object's properties as given in the/client/.env.example
file
Server:
- In the Firebase console, open Settings > Service Accounts.
- Click Generate New Private Key, then confirm by clicking Generate Key.
- Securely store the JSON file containing the key.
- Copy the key value pairs in the above file into .env
- Install MongoDB on your machine by following the instructions provided in the official MongoDB documentation.
- In
/server/.env
storeDB_URL
asmongodb://localhost:27017/any-db-name
- Run
npm run seed
command to seed the database with Roadmaps
First install the dependencies, and start the server in dev mode: Note: cd into the server folder first
npm ci
npm run dev
First install the dependencies and then start the client: Note: first start the server & cd into the client folder
npm ci
npm run start
Please open a new issue in the appropriate GitHub repository with steps to reproduce the problem you're experiencing.
Be sure to include as much information including screenshots, text output, and both your expected and actual results.
First, please refer to the applicable GitHub repository and search the repository's GitHub issues to make sure your idea has not been (or is not still) considered.
Then, please create a new issue in the GitHub repository describing your enhancement.
Be sure to include as much detail as possible including step-by-step descriptions, specific examples, screenshots or mockups, and reasoning for why the enhancement might be worthwhile.