create-myexam-app 1.0.6 → 1.0.8

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 (94) hide show
  1. package/index.js +16 -10
  2. package/package.json +1 -1
  3. package/projects/SMS-/backend-project/.env +3 -0
  4. package/projects/SMS-/backend-project/controllers/ProductController.js +19 -0
  5. package/projects/SMS-/backend-project/controllers/StockTransactionController.js +46 -0
  6. package/projects/SMS-/backend-project/controllers/UserController.js +35 -0
  7. package/projects/SMS-/backend-project/controllers/WarehouseController.js +19 -0
  8. package/projects/SMS-/backend-project/db/connectDB.js +11 -0
  9. package/projects/SMS-/backend-project/models/Product.js +13 -0
  10. package/projects/SMS-/backend-project/models/StockTransaction.js +9 -0
  11. package/projects/SMS-/backend-project/models/User.js +8 -0
  12. package/projects/SMS-/backend-project/models/Warehouse.js +9 -0
  13. package/projects/SMS-/backend-project/package-lock.json +1568 -0
  14. package/projects/SMS-/backend-project/package.json +23 -0
  15. package/projects/SMS-/backend-project/routes/ProductRoutes.js +10 -0
  16. package/projects/SMS-/backend-project/routes/StockTransactionRoutes.js +11 -0
  17. package/projects/SMS-/backend-project/routes/UserRoutes.js +9 -0
  18. package/projects/SMS-/backend-project/routes/WarehouseRoutes.js +10 -0
  19. package/projects/SMS-/backend-project/server.js +24 -0
  20. package/projects/SMS-/frontend-project/README.md +16 -0
  21. package/projects/SMS-/frontend-project/eslint.config.js +21 -0
  22. package/projects/SMS-/frontend-project/index.html +13 -0
  23. package/projects/SMS-/frontend-project/package-lock.json +3053 -0
  24. package/projects/SMS-/frontend-project/package.json +31 -0
  25. package/projects/SMS-/frontend-project/public/favicon.svg +1 -0
  26. package/projects/SMS-/frontend-project/public/icons.svg +24 -0
  27. package/projects/SMS-/frontend-project/src/App.css +184 -0
  28. package/projects/SMS-/frontend-project/src/App.jsx +35 -0
  29. package/projects/SMS-/frontend-project/src/assets/hero.png +0 -0
  30. package/projects/SMS-/frontend-project/src/assets/react.svg +1 -0
  31. package/projects/SMS-/frontend-project/src/assets/vite.svg +1 -0
  32. package/projects/SMS-/frontend-project/src/components/Navbar.jsx +37 -0
  33. package/projects/SMS-/frontend-project/src/index.css +1 -0
  34. package/projects/SMS-/frontend-project/src/main.jsx +10 -0
  35. package/projects/SMS-/frontend-project/src/pages/Dashboard.jsx +31 -0
  36. package/projects/SMS-/frontend-project/src/pages/Login.jsx +79 -0
  37. package/projects/SMS-/frontend-project/src/pages/Product.jsx +135 -0
  38. package/projects/SMS-/frontend-project/src/pages/Register.jsx +72 -0
  39. package/projects/SMS-/frontend-project/src/pages/Reports.jsx +146 -0
  40. package/projects/SMS-/frontend-project/src/pages/StockTransaction.jsx +185 -0
  41. package/projects/SMS-/frontend-project/src/pages/Warehouse.jsx +125 -0
  42. package/projects/SMS-/frontend-project/vite.config.js +10 -0
  43. package/projects/crpms/backend/.env +4 -0
  44. package/projects/crpms/backend/Seed.js +29 -0
  45. package/projects/crpms/backend/controllers/Carcontroller.js +37 -0
  46. package/projects/crpms/backend/controllers/Paymentcontroller.js +44 -0
  47. package/projects/crpms/backend/controllers/Servicecontroller.js +37 -0
  48. package/projects/crpms/backend/controllers/Servicerecordcontroller.js +39 -0
  49. package/projects/crpms/backend/controllers/Usercontroller.js +64 -0
  50. package/projects/crpms/backend/db/connectDB.js +6 -0
  51. package/projects/crpms/backend/models/Car.js +12 -0
  52. package/projects/crpms/backend/models/Payment.js +10 -0
  53. package/projects/crpms/backend/models/Service.js +9 -0
  54. package/projects/crpms/backend/models/Servicerecord.js +10 -0
  55. package/projects/crpms/backend/models/User.js +9 -0
  56. package/projects/crpms/backend/package-lock.json +1817 -0
  57. package/projects/crpms/backend/package.json +25 -0
  58. package/projects/crpms/backend/routes/Carroutes.js +11 -0
  59. package/projects/crpms/backend/routes/Paymentroutes.js +11 -0
  60. package/projects/crpms/backend/routes/Servicerecordroutes.js +11 -0
  61. package/projects/crpms/backend/routes/Serviceroutes.js +11 -0
  62. package/projects/crpms/backend/routes/Userroutes.js +9 -0
  63. package/projects/crpms/backend/server.js +26 -0
  64. package/projects/crpms/frontend/README.md +16 -0
  65. package/projects/crpms/frontend/eslint.config.js +21 -0
  66. package/projects/crpms/frontend/index.html +13 -0
  67. package/projects/crpms/frontend/package-lock.json +2745 -0
  68. package/projects/crpms/frontend/package.json +30 -0
  69. package/projects/crpms/frontend/public/favicon.svg +1 -0
  70. package/projects/crpms/frontend/public/icons.svg +24 -0
  71. package/projects/crpms/frontend/src/App.css +184 -0
  72. package/projects/crpms/frontend/src/App.jsx +37 -0
  73. package/projects/crpms/frontend/src/assets/hero.png +0 -0
  74. package/projects/crpms/frontend/src/assets/react.svg +1 -0
  75. package/projects/crpms/frontend/src/assets/vite.svg +1 -0
  76. package/projects/crpms/frontend/src/components/Navbar.jsx +40 -0
  77. package/projects/crpms/frontend/src/index.css +1 -0
  78. package/projects/crpms/frontend/src/main.jsx +10 -0
  79. package/projects/crpms/frontend/src/pages/Cars.jsx +63 -0
  80. package/projects/crpms/frontend/src/pages/Dashboard.jsx +39 -0
  81. package/projects/crpms/frontend/src/pages/Login.jsx +68 -0
  82. package/projects/crpms/frontend/src/pages/Payments.jsx +115 -0
  83. package/projects/crpms/frontend/src/pages/Register.jsx +83 -0
  84. package/projects/crpms/frontend/src/pages/Reports.jsx +40 -0
  85. package/projects/crpms/frontend/src/pages/ServiceRecords.jsx +114 -0
  86. package/projects/crpms/frontend/vite.config.js +10 -0
  87. package/projects/sfms-app/backend/controllers/RecordController.js +9 -1
  88. package/projects/sfms-app/backend/controllers/UserController.js +24 -26
  89. package/projects/sfms-app/backend/db/connectDB.js +6 -8
  90. package/projects/sfms-app/backend/seedFees.js +30 -0
  91. package/projects/sfms-app/frontend/src/pages/Payments.jsx +69 -45
  92. package/projects/sfms-app/frontend/src/pages/Records.jsx +60 -70
  93. package/projects/sfms-app/frontend/src/pages/Register.jsx +5 -4
  94. package/projects/yhh/tailwind.config.js +15 -0
package/index.js CHANGED
@@ -9,21 +9,27 @@ const rl = readline.createInterface({
9
9
  input: process.stdin,
10
10
  output: process.stdout
11
11
  })
12
+ console.log('\n[1] Car Repair Parking Managemnt System')
13
+ console.log('[2] Hospital Management System')
14
+ console.log('[3] Library System Management')
15
+ console.log('[4] Parking Management System')
16
+ console.log('[5] School fee Management System')
17
+ console.log('[6]Stock Management System')
18
+ console.log('[7] yhh ')
19
+
12
20
 
13
- console.log('\n[1] Hospital Management System')
14
- console.log('[2] Library System Management')
15
- console.log('[3] Parking Management System')
16
- console.log('[4] School fee Management System')
17
21
 
18
22
 
19
-
20
- rl.question('Pick (1-4): ', (answer) => {
23
+ rl.question('Pick (1-7): ', (answer) => {
21
24
 
22
25
  const projects = {
23
- '1': 'hospital management system',
24
- '2': 'libray system management',
25
- '3': 'parking managementt system',
26
- '4': 'sfms-app',
26
+ '1':'crpms',
27
+ '2': 'hospital management system',
28
+ '3': 'libray system management',
29
+ '4': 'parking managementt system',
30
+ '5': 'sfms-app',
31
+ '6': 'SMS-',
32
+ '7':'yhh',
27
33
 
28
34
  }
29
35
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  "name": "create-myexam-app",
4
4
 
5
- "version": "1.0.6",
5
+ "version": "1.0.8",
6
6
 
7
7
  "description": "My exam projects",
8
8
 
@@ -0,0 +1,3 @@
1
+ PORT = 5000
2
+ MONGO_URI=mongodb://localhost:27017/stock_db
3
+ JWT=your_secret_key_here
@@ -0,0 +1,19 @@
1
+ import Product from "../models/Product.js";
2
+
3
+ export const createProduct = async (req, res) => {
4
+ try {
5
+ const product = await Product.create(req.body);
6
+ res.status(201).json(product);
7
+ } catch (error) {
8
+ res.status(500).json({ message: error.message });
9
+ }
10
+ };
11
+
12
+ export const getAllProducts = async (req, res) => {
13
+ try {
14
+ const products = await Product.find();
15
+ res.status(200).json(products);
16
+ } catch (error) {
17
+ res.status(500).json({ message: error.message });
18
+ }
19
+ };
@@ -0,0 +1,46 @@
1
+ import StockTransaction from "../models/StockTransaction.js";
2
+
3
+ export const createTransaction = async (req, res) => {
4
+ try {
5
+ const transaction = await StockTransaction.create(req.body);
6
+ res.status(201).json(transaction);
7
+ } catch (error) {
8
+ res.status(500).json({ message: error.message });
9
+ }
10
+ };
11
+
12
+ export const getAllTransactions = async (req, res) => {
13
+ try {
14
+ const transactions = await StockTransaction.find();
15
+ res.status(200).json(transactions);
16
+ } catch (error) {
17
+ res.status(500).json({ message: error.message });
18
+ }
19
+ };
20
+
21
+ export const getTransactionById = async (req, res) => {
22
+ try {
23
+ const transaction = await StockTransaction.findById(req.params.id);
24
+ res.status(200).json(transaction);
25
+ } catch (error) {
26
+ res.status(500).json({ message: error.message });
27
+ }
28
+ };
29
+
30
+ export const updateTransaction = async (req, res) => {
31
+ try {
32
+ const transaction = await StockTransaction.findByIdAndUpdate(req.params.id, req.body, { new: true });
33
+ res.status(200).json(transaction);
34
+ } catch (error) {
35
+ res.status(500).json({ message: error.message });
36
+ }
37
+ };
38
+
39
+ export const deleteTransaction = async (req, res) => {
40
+ try {
41
+ await StockTransaction.findByIdAndDelete(req.params.id);
42
+ res.status(200).json({ message: "Deleted successfully" });
43
+ } catch (error) {
44
+ res.status(500).json({ message: error.message });
45
+ }
46
+ };
@@ -0,0 +1,35 @@
1
+ import User from "../models/User.js";
2
+ import bcrypt from 'bcrypt'
3
+ import jwt from 'jsonwebtoken'
4
+
5
+
6
+ //register
7
+
8
+ export const registerUser = async(req,res) => {
9
+ try{
10
+ const {username, password} = req.body;
11
+ const hashedPassword = await bcrypt.hash(password, 10);
12
+ const user = await User.create({username,password:hashedPassword});
13
+ res.status(201).json(user);
14
+ }catch(error){
15
+ res.status(500).json({message:error.message});
16
+ }
17
+ };
18
+ //login
19
+
20
+ export const loginUser = async (req,res) => {
21
+ try{
22
+ const {username, password} = req.body;
23
+ const user = await User.findOne({username});
24
+ if(!user) return res.status(400).json({message:"Invalid credetial.."});
25
+
26
+ const isMatch = await bcrypt.compare(password, user.password);
27
+ if(!isMatch) return res.status(400).json({message:"Invalid password"});
28
+
29
+ const token = jwt.sign({id: user._id}, process.env.JWT_SECRET || "secret", {expiresIn:"4d"});
30
+ res.status(200).json({token, user});
31
+ }catch(error){
32
+ res.status(500).json({message:error.message});
33
+ }
34
+ } ;
35
+
@@ -0,0 +1,19 @@
1
+ import Warehouse from "../models/Warehouse.js";
2
+
3
+ export const createWarehouse = async (req, res) => {
4
+ try {
5
+ const warehouse = await Warehouse.create(req.body);
6
+ res.status(201).json(warehouse);
7
+ } catch (error) {
8
+ res.status(500).json({ message: error.message });
9
+ }
10
+ };
11
+
12
+ export const getAllWarehouses = async (req, res) => {
13
+ try {
14
+ const warehouses = await Warehouse.find();
15
+ res.status(200).json(warehouses);
16
+ } catch (error) {
17
+ res.status(500).json({ message: error.message });
18
+ }
19
+ };
@@ -0,0 +1,11 @@
1
+ import mongoose from 'mongoose'
2
+
3
+ export const connectDB = async () => {
4
+ console.log("Connecting to database");
5
+ try{
6
+ await mongoose.connect(process.env.MONGO_URI);
7
+ console.log("Connected to database");
8
+ }catch(error){
9
+ console.log("Failed to connect to database");
10
+ }
11
+ };
@@ -0,0 +1,13 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ const productSchema = new mongoose.Schema({
4
+ productCode: { type: String, required: true, unique: true },
5
+ productName: { type: String, required: true },
6
+ category: { type: String, required: true },
7
+ quantityInStock: { type: Number, required: true },
8
+ unitPrice: { type: Number, required: true },
9
+ supplierName: { type: String, required: true },
10
+ dateReceived: { type: Date, required: true }
11
+ }, { timestamps: true });
12
+
13
+ export default mongoose.model("Product", productSchema);
@@ -0,0 +1,9 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ const stockTransactionSchema = new mongoose.Schema({
4
+ transactionDate: { type: Date, required: true },
5
+ quantityMoved: { type: Number, required: true },
6
+ transactionType: { type: String, required: true }
7
+ }, { timestamps: true });
8
+
9
+ export default mongoose.model("StockTransaction", stockTransactionSchema);
@@ -0,0 +1,8 @@
1
+ import mongoose from 'mongoose'
2
+
3
+ const userSchema = mongoose.Schema({
4
+ username: { type: String, required: true},
5
+ password: { type: String, required: true }
6
+ }, { timestamps: true });
7
+
8
+ export default mongoose.model("User", userSchema);
@@ -0,0 +1,9 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ const warehouseSchema = new mongoose.Schema({
4
+ warehouseCode: { type: String, required: true, unique: true },
5
+ warehouseName: { type: String, required: true },
6
+ warehouseLocation: { type: String, required: true }
7
+ }, { timestamps: true });
8
+
9
+ export default mongoose.model("Warehouse", warehouseSchema);