This project is a simplified version of a Content Management System (CMS) built with Node.js and MySQL. The system allows users to manage content, perform CRUD operations, and includes features like authentication, authorization, and role-based access control.
- 🔐 User Authentication & Authorization
- 📝 CRUD Operations (Create, Read, Update, Delete)
- 📧 Password Reset via OTP Email
- 🛡️ Role-Based Access Control (Admin & User roles)
- Node.js - Backend server
- Express.js - Web framework
- MySQL - Database
- Sequelize - ORM for MySQL
- JWT - Token-based authentication
- Multer - File upload
- Cloudinary - Image hosting
- Nodemailer - Email service for OTP
- Passport - Google Login/Register
-
Clone the repository:
git clone https://github.com/sudipsharma826/NodeJs_Project.git
-
Install the dependencies:
npm install
-
Set up your
.envfile with the following variables:PORT=3000 DB_HOST=your_mysql_host DB_USER=your_mysql_user DB_PASSWORD=your_mysql_password DB_NAME=your_mysql_database JWT_SECRET=your_secret_key CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret -
Run the app:
node app.js
/node_modules
/public
/routes
/views
/models
/controllers
/middleware
.env
app.js
🌐 Live Preview: https://www.nodeproject.sudipsharma.com.np/
Feel free to fork this repository, open issues, or submit pull requests. All contributions are welcome!