Calling All Node.js Developers : Create Generic Upload Controller ⭐ Weekly Issue to Solve
Tags: node, opensource, javascript, beginners
Published: 2023-09-04 00:17:49


Are you a talented Node.js developer looking for an exciting open source project to collaborate on? Look no further! We are thrilled to invite you to contribute to our cutting-edge ERP CRM project, [idurar-erp-crm](https://github.com/idurar/idurar-erp-crm).




### The Issue to Solve : [Create New Generic Upload Controller (Node.js)](https://github.com/idurar/idurar-erp-crm/issues/412)


The specific task at hand involves creating a new generic upload controller within our project. This controller will enhance the project's functionality, enabling seamless file uploads across various modules. By addressing this issue, we can greatly improve user experience and elevate the overall performance of the ERP CRM system.

Problem:
There is a need to create a new generic uploadController.js file with a model. This controller should be located inside the middlewaresControllers directory.

Solution:
To address this problem, the following steps need to be taken:

Create a new model named Upload within the coreModels directory. This model will have the following fields:

- modelName: The name of the model.
- fieldId: The ID of the field.
- enabled: A flag indicating whether the upload is enabled or not.
- isPublic: A flag indicating whether isPublic or private.
- removed: A flag indicating whether the upload has been removed or not.
- path: The path to the uploaded file.

The File should upload to public or private folder , inside modelName folder , the file should have a name of document id of (UploadCollection)

- Add a new route to the coreRoutes file. This route should handle the URL pattern public/upload/:model/:fieldId.
- Add a new route to the coreRoutes file. This route should handle the URL pattern private/upload/:model/:fieldId.

By following these steps, a new generic upload controller can be created with the necessary model and route structure.

How You Can Help
To get started, simply follow these steps:

1. Visit our GitHub repository and familiarize yourself with the project structure, codebase, and existing features.
2. Locate the relevant issue titled "feat : Create New Generic Upload Controller #412"
3. Fork the repository to your own GitHub account.
Implement the required changes in your forked repository.
Once you're satisfied with your changes, submit a pull request to our main repository.

## Why Contribute?
By contributing to the idurar-erp-crm project, you will:

Gain valuable experience working on a real-world open source ERP CRM system.
Showcase your Node.js skills to potential employers and the wider developer community.
Collaborate with a team of passionate developers from around the world.
Make a meaningful impact by enhancing the functionality and usability of our project.

## About the Project
[idurar-erp-crm](https://github.com/idurar/idurar-erp-crm) is a powerful and feature-rich ERP CRM system built using Node.js. It aims to revolutionize businesses by seamlessly integrating essential business processes, customer relationship management, and sales automation into one robust platform.
[![open source erp crm](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dys0xxpeugoccbqb3rbc.png)
](https://github.com/idurar/idurar-erp-crm)

## Join Our Community

We believe in the power of collaboration and welcome developers of all skill levels to join our community. Whether you're a seasoned Node.js expert or just starting out, we value your unique perspective and contributions.

Ready to dive in and make a difference? Head over to our GitHub repository, find the issue, and let's get started. Together, we can build something extraordinary!

If you have any questions or need any assistance, please don't hesitate to comment below. We're here to help.

Happy coding!

Best regards,
The [idurar-erp-crm ](https://github.com/idurar/idurar-erp-crm)Team