novuhq / novu

Open-Source Notification Platform. Embeddable Notification Center, E-mail, Push and Slack Integrations.
https://novu.co
Other
34.91k stars 3.69k forks source link

đź“š Docs Feedback: Instructions not clear after spinning docker-compose.yml for development #4597

Open Himanshupal0001 opened 1 year ago

Himanshupal0001 commented 1 year ago

Duplicates

Related page

https://github.com/novuhq/novu/tree/next/docker/local/development

Kind of issue

Missing information

Issue description

I was trying to create development environment to work on web but there was no clear instructions on contribution.md how to spin the docker container and work on the different repos. There is only single link https://docs.novu.co/community/run-in-local-machine how to setup novu locally.

After trying I found the docker-compose.yml file in root->docker->local->development->docker-compose.yml. The docker-compose is running but after that there is not clear instructions how to access web, api, workers and other repos for contributions. In terminal it is clear that localstack, mongodb and redis is running. But I am not sure how to access web repo for development. py1

There is no clear instructions how to use development compose file for development and to do after that. py2

Context 🔦

I am interested in contributing frontend development and api development/testing but I don't want to install everything on my local machine. I was looking for decker image to run the code but there is no relevant document nor topics to go through.

p-fernandez commented 1 year ago

@Himanshupal0001 did you find out about our local development guide? https://docs.novu.co/community/run-in-local-machine There we explain how to run things in order to people being able to contribute.

Priyanshuthapliyal2005 commented 1 year ago

@p-fernandez Could you please assign this issue to me? I would like to work on providing clearer instructions for using the development compose file Thanks!

djabarovgeorge commented 1 year ago

Hey @Himanshupal0001, Thanks for taking an interest in the project, and have the will to improve it! :)

Could you please elaborate what were the issue you faced and what were your intentions? it could help the assigned contributor to understand the pain and how to solve it.

After spinning the project i think looking into the structure of the project could help to understand it better https://docs.novu.co/community/monorepo-structure

Priyanshuthapliyal2005 commented 1 year ago

@djabarovgeorge

Hello! I appreciate your reference link to the monorepo structure documentation. While reviewing it, I found that it provided useful insights into the general structure of Novu. However, regarding the specific issue I encountered—setting up the development environment and accessing different repositories after running Docker containers—there seemed to be a gap in the documentation. To address this, I've made updates to the contributing.md file, offering detailed steps for contributors in similar situations. Please check it out and let me know if it aligns with your expectations. Your guidance is invaluable! Thanks!

Priyanshuthapliyal2005 commented 1 year ago

@p-fernandez and @djabarovgeorge Hello! I've made some updates to the contributing.md file, addressing the issue we discussed here earlier. Could you please take a look at the pull request and share your feedback? Your review would be greatly appreciated! Thank you!

Himanshupal0001 commented 1 year ago

@Himanshupal0001 did you find out about our local development guide? https://docs.novu.co/community/run-in-local-machine There we explain how to run things in order to people being able to contribute.

Yes I read it thoroughly. What I understood from this doc is how to run novu development environment locally on developer machine, which means the developer needs to install all the dependencies in the local machine and then start the development.

My issue is that what if not every developer wants to install all the dependencies locally? Maybe they want to keep the novu and their local environment separate. Thus they need a docker container to run novu dev env .

While trying to run the docker container of novu, I've encountered two scenarios.

1. Devcontainer - I ran the devcontainer on the vs code and it worked but it consumes lot of resources from my local machine and I was not able to work on my other tasks. Below are the pros and cons I found about devcontainer.

Pros

Cons

2. Docker container - As mentioned in the issue I found the docker conpose file and spin it locally. It was running fine but I was not able to run frontend of novu.

After deep diving I found there are three containers running which are localstack, mongo and redis. Now the issue is there is not clear instructions how

Himanshupal0001 commented 1 year ago

@djabarovgeorge

Hello! I appreciate your reference link to the monorepo structure documentation. While reviewing it, I found that it provided useful insights into the general structure of Novu. However, regarding the specific issue I encountered—setting up the development environment and accessing different repositories after running Docker containers—there seemed to be a gap in the documentation. To address this, I've made updates to the contributing.md file, offering detailed steps for contributors in similar situations. Please check it out and let me know if it aligns with your expectations. Your guidance is invaluable! Thanks!

Have you tried to run frontend application?

Priyanshuthapliyal2005 commented 1 year ago

@Himanshupal0001 i favours your issue, i also not able to find any clear documentation regarding this.