Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

馃摎 Docs Feedback: Instructions not clear after spinning docker-compose.yml for development #4597

Open
1 task done
Himanshupal0001 opened this issue Oct 20, 2023 · 8 comments
Labels
help wanted Extra attention is needed triage

Comments

@Himanshupal0001
Copy link

Duplicates

  • I have searched the existing issues

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
Copy link
Contributor

@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.

@p-fernandez p-fernandez added the help wanted Extra attention is needed label Oct 21, 2023
@Priyanshuthapliyal2005
Copy link

@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!

Priyanshuthapliyal2005 added a commit to Priyanshuthapliyal2005/novu that referenced this issue Oct 21, 2023
This commit addresses issue novuhq#4597 where contributors faced challenges setting up a development environment for web development in Novu. The issue highlighted a lack of clear instructions in the CONTRIBUTING.md file on how to spin the Docker container and access different repositories after running the docker-compose.yml file.

To resolve this, the commit includes additional instructions in CONTRIBUTING.md, specifically focusing on clarifying the steps to access the web, API, and worker repositories after successfully running the docker-compose.yml file. These changes aim to improve the onboarding experience for contributors interested in frontend and API development/testing.
issue novuhq#4597
@djabarovgeorge
Copy link
Contributor

djabarovgeorge commented Oct 22, 2023

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
Copy link

@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鈥攕etting up the development environment and accessing different repositories after running Docker containers鈥攖here 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
Copy link

Priyanshuthapliyal2005 commented Oct 22, 2023

@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
Copy link
Author

@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

  • It run well as a separate environment on vs code.
  • It feels like working on the local files.
  • It provides separate terminal to access separate novu repos like novu@web , novu@worker and so on. I tried novu@web terminal and it started the frontend app. But the terminal freezes after running the command npm start
  • It provides forward port for application connection and access.

Cons

  • It consumes lots of resources of local machine
  • It need high speed internet to work.
  • It has the tendency to keep loading without any timeout.

**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

  • To check if all services are working fine or not.
  • How to run frontend service or any service in such regards.

@Himanshupal0001
Copy link
Author

@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鈥攕etting up the development environment and accessing different repositories after running Docker containers鈥攖here 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
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed triage
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants