Skip to content

raj4477/nms

Repository files navigation

NMS

Backend of "E-Suchana : The Notice Management System"

my-license last-commit repo-top-language repo-language-count

Developed with the software and tools below.

JavaScript Node.js Express JSON JSON


🔗 Quick Links


📍 Overview

E-suchana is devised to serve as a centralized platform for managing notices efficiently. E-suchana represents a paradigm shift in the way notices are managed and circulated within organizational settings. By leveraging cutting-edge technologies such as Next.js for frontend development and Node.js, Express.js, and MongoDB for backend infrastructure, the platform ensures seamless performance and scalability.


📦 Features

► Role Based Login
► User Registration (only Admin can)
► Automated Mailing System
► Notice Published in Hierarchical Level
► JsonWebToken Authentication
► Secure Routes


📂 Repository Structure

└── nms/
    ├── LICENSE.txt
    ├── controllers
    │   ├── authLogin.controller.js
    │   ├── cloudinarypublishNotice.js
    │   ├── fetchNotice.controller.js
    │   ├── fetchNt.controller.js
    │   ├── image.controller.js
    │   ├── publishNotice.controller.js
    │   ├── register.controller.js
    │   └── verifyotp.controller.js
    ├── helper
    │   ├── mail.js
    │   └── mailPass.js
    ├── index.js
    ├── middleware
    │   └── jwtauthorization.controller.js
    ├── models
    │   ├── imageNotice.model.js
    │   ├── notice.model.js
    │   ├── otp.model.js
    │   └── user.model.js
    ├── package-lock.json
    ├── package.json
    ├── public
    │   └── myNoticeImage-1708545010599.png
    ├── routers
    │   ├── authorize.router.js
    │   ├── notice.router.js
    │   └── register.router.js
    ├── utils.js
    └── vercel.json

🧩 Modules

.
File Summary
index.js ► Root File
utils.js ► Util File
package.json ► Packages of Project
vercel.json ► For Deployment
middleware
File Summary
jwtauthorization.controller.js ► JWT Auth Middleware
models
File Summary
user.model.js ► User Model
notice.model.js ► Notice Model
imageNotice.model.js ► Image Notice
otp.model.js ► OTP Model
controllers
File Summary
fetchNotice.controller.js ► Notice Fetch
authLogin.controller.js ► Auth Login
register.controller.js ► Registration
cloudinarypublishNotice.js ► Cloudinary CDN
verifyotp.controller.js ► Verify Notice
fetchNt.controller.js ► Fetch Notice
publishNotice.controller.js ► Publish Notice
image.controller.js ► Image Controller
helper
File Summary
mailPass.js ► Welcome Mail Controller
mail.js ► Notice Mail Controller
routers
File Summary
authorize.router.js ► Authentication Routes
register.router.js ► Registration Routes
notice.router.js ► Notice Routes

🚀 Getting Started

Requirements

Ensure you have the following dependencies installed on your system:

  • JavaScript: version x.y.z
  • Node.js: version x.y.z

⚙️ Installation

  1. Clone the nms repository:
git clone https://github.com/raj4477/nms
  1. Change to the project directory:
cd nms
  1. Install the dependencies:
npm install
  1. Create an envronment file (.env) in root directory:
    DB_URL=<MongoDB URL>
    MAIL_USER=<Mail ID>
    MAIL_PASS=<Password>
    JWT_KEY=<Secret Key>
    PORT=<PORT Number>
    CLOULD_NAME=<Cloud Name of Cloudinary>
    CLOULD_KEY=<Key of Cloudinary>
    CLOULD_SECRET=<Secret Key of Cloudinay>
    

🤖 Running nms

Use the following command to run nms:

node index.js

🤝 Contributing

Contributions are welcome! Here are several ways you can contribute:

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your GitHub account.
  2. Clone Locally: Clone the forked repository to your local machine using a Git client.
    git clone https://github.com/raj4477/nms
    
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to GitHub: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.

Once your PR is reviewed and approved, it will be merged into the main branch.


📄 License

This project is protected under the MIT License. For more details, refer to the LICENSE file.


👏 Acknowledgments

Return


About

E-Suchana : The Notice Management App (Back-end)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published