create-nodemin-app 1.0.16 → 1.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/bin/cli.js +13 -2
  2. package/package.json +1 -2
  3. package/templates/BWS/backend/middleware/auth.js +7 -0
  4. package/templates/BWS/backend/models/Product.js +15 -0
  5. package/templates/BWS/backend/models/Sale.js +18 -0
  6. package/templates/BWS/backend/models/StockStatus.js +19 -0
  7. package/templates/BWS/backend/models/User.js +21 -0
  8. package/templates/BWS/backend/package-lock.json +1753 -0
  9. package/templates/BWS/backend/package.json +21 -0
  10. package/templates/BWS/backend/routes/auth.js +76 -0
  11. package/templates/BWS/backend/routes/products.js +81 -0
  12. package/templates/BWS/backend/routes/reports.js +49 -0
  13. package/templates/BWS/backend/routes/sales.js +122 -0
  14. package/templates/BWS/backend/routes/stockStatus.js +75 -0
  15. package/templates/BWS/backend/server.js +44 -0
  16. package/templates/BWS/frontend/build/asset-manifest.json +13 -0
  17. package/templates/BWS/frontend/build/index.html +1 -0
  18. package/templates/BWS/frontend/build/static/css/main.752ac4ce.css +4 -0
  19. package/templates/BWS/frontend/build/static/css/main.752ac4ce.css.map +1 -0
  20. package/templates/BWS/frontend/build/static/js/main.612be8b6.js +3 -0
  21. package/templates/BWS/frontend/build/static/js/main.612be8b6.js.LICENSE.txt +72 -0
  22. package/templates/BWS/frontend/build/static/js/main.612be8b6.js.map +1 -0
  23. package/templates/BWS/frontend/package-lock.json +17226 -0
  24. package/templates/BWS/frontend/package.json +35 -0
  25. package/templates/BWS/frontend/postcss.config.js +6 -0
  26. package/templates/BWS/frontend/public/index.html +11 -0
  27. package/templates/BWS/frontend/src/App.js +71 -0
  28. package/templates/BWS/frontend/src/api/axios.js +8 -0
  29. package/templates/BWS/frontend/src/components/DailySalesReport.js +114 -0
  30. package/templates/BWS/frontend/src/components/DailyStockReport.js +105 -0
  31. package/templates/BWS/frontend/src/components/Login.js +148 -0
  32. package/templates/BWS/frontend/src/components/MenuBar.js +74 -0
  33. package/templates/BWS/frontend/src/components/ProductForm.js +92 -0
  34. package/templates/BWS/frontend/src/components/ProductList.js +143 -0
  35. package/templates/BWS/frontend/src/components/SalesForm.js +95 -0
  36. package/templates/BWS/frontend/src/components/SalesList.js +129 -0
  37. package/templates/BWS/frontend/src/components/StockStatusList.js +183 -0
  38. package/templates/BWS/frontend/src/index.css +3 -0
  39. package/templates/BWS/frontend/src/index.js +7 -0
  40. package/templates/BWS/frontend/tailwind.config.js +8 -0
  41. package/templates/CFMS/backend-project/config/db.js +13 -0
  42. package/templates/CFMS/backend-project/middleware/auth.js +9 -0
  43. package/templates/CFMS/backend-project/models/Maintenance.js +42 -0
  44. package/templates/CFMS/backend-project/models/Trip.js +46 -0
  45. package/templates/CFMS/backend-project/models/User.js +27 -0
  46. package/templates/CFMS/backend-project/models/Vehicle.js +40 -0
  47. package/templates/CFMS/backend-project/package-lock.json +1766 -0
  48. package/templates/CFMS/backend-project/package.json +22 -0
  49. package/templates/CFMS/backend-project/routes/auth.js +104 -0
  50. package/templates/CFMS/backend-project/routes/maintenance.js +81 -0
  51. package/templates/CFMS/backend-project/routes/reports.js +73 -0
  52. package/templates/CFMS/backend-project/routes/trip.js +48 -0
  53. package/templates/CFMS/backend-project/routes/vehicle.js +54 -0
  54. package/templates/CFMS/backend-project/server.js +52 -0
  55. package/templates/CFMS/frontend-project/package-lock.json +17250 -0
  56. package/templates/CFMS/frontend-project/package.json +26 -0
  57. package/templates/CFMS/frontend-project/postcss.config.js +6 -0
  58. package/templates/CFMS/frontend-project/public/index.html +13 -0
  59. package/templates/CFMS/frontend-project/src/App.js +106 -0
  60. package/templates/CFMS/frontend-project/src/axios.js +8 -0
  61. package/templates/CFMS/frontend-project/src/components/Navbar.js +96 -0
  62. package/templates/CFMS/frontend-project/src/components/ProtectedRoute.js +11 -0
  63. package/templates/CFMS/frontend-project/src/index.css +15 -0
  64. package/templates/CFMS/frontend-project/src/index.js +11 -0
  65. package/templates/CFMS/frontend-project/src/pages/Dashboard.js +130 -0
  66. package/templates/CFMS/frontend-project/src/pages/Login.js +99 -0
  67. package/templates/CFMS/frontend-project/src/pages/Maintenance.js +241 -0
  68. package/templates/CFMS/frontend-project/src/pages/Register.js +136 -0
  69. package/templates/CFMS/frontend-project/src/pages/Reports.js +179 -0
  70. package/templates/CFMS/frontend-project/src/pages/ResetPassword.js +120 -0
  71. package/templates/CFMS/frontend-project/src/pages/Trip.js +188 -0
  72. package/templates/CFMS/frontend-project/src/pages/Vehicle.js +154 -0
  73. package/templates/CFMS/frontend-project/tailwind.config.js +49 -0
package/bin/cli.js CHANGED
@@ -13,7 +13,11 @@ const rl = readline.createInterface({
13
13
 
14
14
  console.log("\nSelect project to create:\n");
15
15
  console.log("1. HRMS_Mongdb(human resource Management System)");
16
- console.log("1. HRMS_Mysql(human resource Management System)");
16
+ console.log("2. HRMS_Mysql(human resource Management System)");
17
+ console.log("3. BWS(DAB Business web solution)");
18
+ console.log("4. CRMS(Fleet Management System)\n");
19
+
20
+
17
21
 
18
22
 
19
23
  // Ask user
@@ -32,7 +36,14 @@ rl.question("Enter your choice: ", (choice) => {
32
36
  projectName = "hrms-app";
33
37
  break;
34
38
 
35
-
39
+ case "3":
40
+ templateName = "BWS";
41
+ projectName = "bws-app";
42
+ break;
43
+ case "4":
44
+ templateName = "CFMS";
45
+ projectName = "cfms-app";
46
+ break;
36
47
 
37
48
  default:
38
49
  console.log(" Invalid choice");
package/package.json CHANGED
@@ -1,7 +1,6 @@
1
-
2
1
  {
3
2
  "name": "create-nodemin-app",
4
- "version": "1.0.16",
3
+ "version": "1.0.17",
5
4
  "description": "",
6
5
  "main": "index.js",
7
6
  "bin": {
@@ -0,0 +1,7 @@
1
+ module.exports = function (req, res, next) {
2
+ if (req.session && req.session.userId) {
3
+ next();
4
+ } else {
5
+ return res.status(401).json({ message: "Unauthorized. Please login." });
6
+ }
7
+ };
@@ -0,0 +1,15 @@
1
+ const mongoose = require("mongoose");
2
+
3
+ const ProductSchema = new mongoose.Schema(
4
+ {
5
+ user: { type: mongoose.Schema.Types.ObjectId, ref: "User", required: true },
6
+ productName: { type: String, required: true },
7
+ Category: { type: String, required: true },
8
+ Quantity: { type: Number, required: true, min: 0 },
9
+ UnitPrice: { type: Number, required: true, min: 0 },
10
+ totalPrice: { type: Number, required: true, min: 0 },
11
+ },
12
+ { timestamps: true }
13
+ );
14
+
15
+ module.exports = mongoose.model("Product", ProductSchema);
@@ -0,0 +1,18 @@
1
+ const mongoose = require("mongoose");
2
+
3
+ const SaleSchema = new mongoose.Schema(
4
+ {
5
+ user: { type: mongoose.Schema.Types.ObjectId, ref: "User", required: true },
6
+ product: {
7
+ type: mongoose.Schema.Types.ObjectId,
8
+ ref: "Product",
9
+ required: true,
10
+ },
11
+ SoldQuantity: { type: Number, required: true, min: 1 },
12
+ soldUnitPrice: { type: Number, required: true, min: 0 },
13
+ SalesDate: { type: Date, required: true, default: Date.now },
14
+ },
15
+ { timestamps: true }
16
+ );
17
+
18
+ module.exports = mongoose.model("Sale", SaleSchema);
@@ -0,0 +1,19 @@
1
+ const mongoose = require("mongoose");
2
+
3
+ const StockStatusSchema = new mongoose.Schema(
4
+ {
5
+ user: { type: mongoose.Schema.Types.ObjectId, ref: "User", required: true },
6
+ product: {
7
+ type: mongoose.Schema.Types.ObjectId,
8
+ ref: "Product",
9
+ required: true,
10
+ unique: true,
11
+ },
12
+ AvailableQuantity: { type: Number, required: true, min: 0 },
13
+ soldQuantity: { type: Number, required: true, min: 0, default: 0 },
14
+ RemainingQuantity: { type: Number, required: true, min: 0 },
15
+ },
16
+ { timestamps: true }
17
+ );
18
+
19
+ module.exports = mongoose.model("StockStatus", StockStatusSchema);
@@ -0,0 +1,21 @@
1
+ const mongoose = require("mongoose");
2
+ const bcrypt = require("bcryptjs");
3
+
4
+ const UserSchema = new mongoose.Schema({
5
+ username: { type: String, required: true, unique: true },
6
+ email: { type: String, required: true, unique: true },
7
+ password: { type: String, required: true },
8
+ });
9
+
10
+ UserSchema.pre("save", async function (next) {
11
+ if (!this.isModified("password")) return next();
12
+ const salt = await bcrypt.genSalt(10);
13
+ this.password = await bcrypt.hash(this.password, salt);
14
+ next();
15
+ });
16
+
17
+ UserSchema.methods.comparePassword = async function (candidatePassword) {
18
+ return bcrypt.compare(candidatePassword, this.password);
19
+ };
20
+
21
+ module.exports = mongoose.model("User", UserSchema);