├── .eslintcache ├── .gitignore ├── .vscode └── settings.json ├── Procfile ├── README.md ├── frontend ├── .eslintcache ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt └── src │ ├── App.js │ ├── actions │ ├── attendanceActions.jsx │ ├── studentActions.jsx │ └── userActions.jsx │ ├── components │ ├── analysisComponent.jsx │ ├── attendanceTable.jsx │ ├── attendanceTableComponent.jsx │ ├── footer.jsx │ ├── formContainer.jsx │ ├── header.jsx │ ├── loader.jsx │ ├── message.jsx │ ├── paginate.jsx │ ├── rating.jsx │ ├── searchBox.jsx │ └── student.jsx │ ├── constants │ ├── attendanceConstant.jsx │ ├── studentConstant.jsx │ └── userConstants.jsx │ ├── css │ ├── bootstrap.min.css │ └── index.css │ ├── index.js │ ├── reducers │ ├── attendanceReducer.jsx │ ├── studentsReducer.jsx │ └── userReducers.jsx │ ├── reportWebVitals.js │ ├── screens │ ├── Authentication Screens │ │ ├── LoginView.jsx │ │ └── RegisterView.jsx │ ├── addStudentView.jsx │ ├── analysisView.jsx │ ├── attendanceView.jsx │ ├── homeView.jsx │ ├── profileView.jsx │ ├── studentDetailsView.jsx │ ├── studentTableView.jsx │ ├── userEditView.jsx │ └── userListView.jsx │ └── store.jsx ├── package-lock.json ├── package.json └── server ├── config └── mongoDBConfig.js ├── controllers ├── attendanceController.js ├── studentController.js └── userController.js ├── data └── students.js ├── index.js ├── middleware ├── authMiddleware.js └── errorMiddleware.js ├── models ├── attendance.js ├── student.js └── user.js ├── routes ├── attendanceRoutes.js ├── studentRoutes.js └── userRoutes.js ├── seeder.js └── utils └── generateToken.js /.eslintcache: -------------------------------------------------------------------------------- 1 | [{"/home/shashi/Projects/React Projects/hostel-app/src/reportWebVitals.js":"1","/home/shashi/Projects/React Projects/hostel-app/src/components/header.jsx":"2","/home/shashi/Projects/React Projects/hostel-app/src/reducers/orphanageReducer.jsx":"3","/home/shashi/Projects/React Projects/hostel-app/src/components/orphanage.jsx":"4","/home/shashi/Projects/React Projects/hostel-app/src/constants/orphanageConstant.jsx":"5","/home/shashi/Projects/React Projects/hostel-app/src/App.js":"6","/home/shashi/Projects/React Projects/hostel-app/src/screens/orphangeDetailsView.jsx":"7","/home/shashi/Projects/React Projects/hostel-app/src/screens/homeView.jsx":"8","/home/shashi/Projects/React Projects/hostel-app/src/components/searchBox.jsx":"9","/home/shashi/Projects/React Projects/hostel-app/src/screens/addStudentView.jsx":"10","/home/shashi/Projects/React Projects/hostel-app/src/screens/analysisView.jsx":"11","/home/shashi/Projects/React Projects/hostel-app/src/actions/orphanageActions.jsx":"12","/home/shashi/Projects/React Projects/hostel-app/src/screens/editOrphanageDetails.jsx":"13"},{"size":362,"mtime":1611587355656,"results":"14","hashOfConfig":"15"},{"size":1420,"mtime":1611588899653,"results":"16","hashOfConfig":"15"},{"size":2572,"mtime":1611587355656,"results":"17","hashOfConfig":"15"},{"size":1015,"mtime":1611587355656,"results":"18","hashOfConfig":"15"},{"size":1091,"mtime":1611587355656,"results":"19","hashOfConfig":"15"},{"size":1181,"mtime":1611590345616,"results":"20","hashOfConfig":"15"},{"size":3630,"mtime":1611587679636,"results":"21","hashOfConfig":"15"},{"size":1240,"mtime":1611588079853,"results":"22","hashOfConfig":"15"},{"size":783,"mtime":1611588125620,"results":"23","hashOfConfig":"15"},{"size":4986,"mtime":1611590107133,"results":"24","hashOfConfig":"15"},{"size":1222,"mtime":1611591364130,"results":"25","hashOfConfig":"15"},{"size":4092,"mtime":1611587355653,"results":"26","hashOfConfig":"15"},{"size":4936,"mtime":1611587355656,"results":"27","hashOfConfig":"15"},{"filePath":"28","messages":"29","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"30"},"cbixyl",{"filePath":"31","messages":"32","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"33","usedDeprecatedRules":"30"},{"filePath":"34","messages":"35","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"36","messages":"37","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"38","messages":"39","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"40","messages":"41","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"42","messages":"43","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"44","usedDeprecatedRules":"45"},{"filePath":"46","messages":"47","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"30"},{"filePath":"48","messages":"49","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"45"},{"filePath":"50","messages":"51","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"52","messages":"53","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"54","usedDeprecatedRules":"30"},{"filePath":"55","messages":"56","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"57","messages":"58","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/shashi/Projects/React Projects/hostel-app/src/reportWebVitals.js",[],["59","60"],"/home/shashi/Projects/React Projects/hostel-app/src/components/header.jsx",["61","62"],"import React from 'react'\nimport { Container, Nav, Navbar, NavDropdown } from 'react-bootstrap'\nimport { Route } from 'react-router-dom'\nimport { LinkContainer } from 'react-router-bootstrap'\nimport SearchBox from './searchBox'\n\nconst Header = () => {\n return (\n
\n \n \n \n NSD Solutions\n \n \n \n } />\n\n \n \n \n \n
\n )\n}\n\nexport default Header\n","/home/shashi/Projects/React Projects/hostel-app/src/reducers/orphanageReducer.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/src/components/orphanage.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/src/constants/orphanageConstant.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/src/App.js",[],"/home/shashi/Projects/React Projects/hostel-app/src/screens/orphangeDetailsView.jsx",["63"],"import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\n\nimport {\n getorphanageDetails,\n deleteOrphanage,\n} from '../actions/orphanageActions'\nimport { Row, Col, Image, ListGroup, Card, Button } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\nimport Rating from '../components/rating'\nimport Loading from '../components/loader.jsx'\nimport Message from '../components/message.jsx'\nimport { ORPHANAGE_DELETE_RESET } from '../constants/orphanageConstant'\n\nconst OrphanageDetailsView = ({ history, match }) => {\n const orphanageId = match.params.id\n const dispatch = useDispatch()\n const orphanageDetails = useSelector((state) => state.orphanageDetails)\n const { loading, error, orphanage } = orphanageDetails\n const orphanageDelete = useSelector((state) => state.orphanageDelete)\n const {\n loading: loadingDelete,\n error: errorDelete,\n success,\n } = orphanageDelete\n useEffect(() => {\n if (success) {\n dispatch({ type: ORPHANAGE_DELETE_RESET })\n history.push('/')\n }\n console.log(JSON.stringify(orphanage))\n if (orphanageId !== orphanage._id) {\n dispatch(getorphanageDetails(orphanageId))\n }\n }, [dispatch, match, success])\n\n const pushToEdit = () => {\n history.push(`/orphanage/${orphanage._id}/edit`)\n }\n\n const deleteOrphanag = () => {\n dispatch(deleteOrphanage(orphanageId))\n }\n\n \n\n \n\n return (\n <>\n \n Go Back\n \n {loadingDelete && }\n {errorDelete && {errorDelete}}\n {loading ? (\n \n ) : error ? (\n {error}\n ) : (\n \n \n {orphanage.name}\n \n \n \n \n

{orphanage.name}

\n
\n \n \n \n\n \n \n \n \n \n \n
\n \n \n \n \n \n \n Contact:\n \n {orphanage.contact}\n \n \n \n \n \n Address:\n \n {orphanage.city},{orphanage.state}\n \n \n \n \n \n \n \n \n \n \n
\n )}\n \n )\n}\n\nexport default OrphanageDetailsView\n",["64","65"],"/home/shashi/Projects/React Projects/hostel-app/src/screens/homeView.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/src/components/searchBox.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/src/screens/addStudentView.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/src/screens/analysisView.jsx",["66"],"import React, { useState, useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Row, Col, Table } from \"react-bootstrap\";\nimport DatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\n\nconst AnalysisView = () => {\n const [startDate, setStartDate] = useState(new Date());\n\n return (\n <>\n \n Go Back\n \n \n \n \n Analysis for \n \n {startDate.toISOString().toString().substring(0, 10)}\n \n \n \n setStartDate(date)}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameContact NoRoom NoBlock NoCategoryAttendance
\n \n \n );\n};\n\nexport default AnalysisView;\n","/home/shashi/Projects/React Projects/hostel-app/src/actions/orphanageActions.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/src/screens/editOrphanageDetails.jsx",[],{"ruleId":"67","replacedBy":"68"},{"ruleId":"69","replacedBy":"70"},{"ruleId":"71","severity":1,"message":"72","line":3,"column":10,"nodeType":"73","messageId":"74","endLine":3,"endColumn":15},{"ruleId":"71","severity":1,"message":"75","line":5,"column":8,"nodeType":"73","messageId":"74","endLine":5,"endColumn":17},{"ruleId":"76","severity":1,"message":"77","line":35,"column":6,"nodeType":"78","endLine":35,"endColumn":32,"suggestions":"79"},{"ruleId":"67","replacedBy":"80"},{"ruleId":"69","replacedBy":"81"},{"ruleId":"71","severity":1,"message":"82","line":1,"column":27,"nodeType":"73","messageId":"74","endLine":1,"endColumn":36},"no-native-reassign",["83"],"no-negated-in-lhs",["84"],"no-unused-vars","'Route' is defined but never used.","Identifier","unusedVar","'SearchBox' is defined but never used.","react-hooks/exhaustive-deps","React Hook useEffect has missing dependencies: 'history', 'orphanage', and 'orphanageId'. Either include them or remove the dependency array.","ArrayExpression",["85"],["83"],["84"],"'useEffect' is defined but never used.","no-global-assign","no-unsafe-negation",{"desc":"86","fix":"87"},"Update the dependencies array to be: [dispatch, history, match, orphanage, orphanageId, success]",{"range":"88","text":"89"},[1198,1224],"[dispatch, history, match, orphanage, orphanageId, success]"] -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | node_modules/ 6 | 7 | /.pnp 8 | .pnp.js 9 | 10 | # testing 11 | /coverage 12 | 13 | # production 14 | /frontend/build 15 | /frontend/node_modules 16 | 17 | # misc 18 | .DS_Store 19 | .env 20 | .env.local 21 | .env.development.local 22 | .env.test.local 23 | .env.production.local 24 | 25 | npm-debug.log* 26 | yarn-debug.log* 27 | yarn-error.log* 28 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cmake.configureOnOpen": true 3 | } -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: node server/index.js -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hostel Management Application 2 | 3 | Created using MERN Stack with Redux 4 | 5 | ## Installation 6 | 7 | ``` 8 | npm install 9 | cd frontend && npm install 10 | ``` 11 | 12 | ### Configure .env file 13 | 14 | ``` 15 | NODE_ENV = development/production 16 | PORT = 5000 17 | MONGO_URI= Mongo Uri 18 | JWT_SECRET= JWT Key 19 | ``` 20 | 21 | ## Features 22 | 23 | - [x] Register/Login Screens 24 | - [x] Student Details 25 | - [x] Add Student 26 | - [x] Edit/Delete Student Details 27 | - [x] Update Student Where abouts 28 | - [x] Can take Attendance Daily 29 | - [x] Dispaly Attendance Details 30 | - [x] Download Csv file of attendance 31 | - [x] Delete Attendance of previous n days 32 | - [x] Control User List 33 | - [x] Edit User Admin Status 34 | - [x] Data Controlled by only Admins 35 | 36 | ## Contributing 37 | 38 | Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. 39 | 40 | Please make sure to update tests as appropriate. 41 | -------------------------------------------------------------------------------- /frontend/.eslintcache: -------------------------------------------------------------------------------- 1 | [{"/home/shashi/Projects/React Projects/hostel-app/frontend/src/App.js":"1","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/homeView.jsx":"2","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/addStudentView.jsx":"3","/home/shashi/Projects/React Projects/hostel-app/frontend/src/index.js":"4","/home/shashi/Projects/React Projects/hostel-app/frontend/src/store.jsx":"5","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/header.jsx":"6","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/message.jsx":"7","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/rating.jsx":"8","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/searchBox.jsx":"9","/home/shashi/Projects/React Projects/hostel-app/frontend/src/reducers/studentsReducer.jsx":"10","/home/shashi/Projects/React Projects/hostel-app/frontend/src/constants/studentConstant.jsx":"11","/home/shashi/Projects/React Projects/hostel-app/frontend/src/actions/studentActions.jsx":"12","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/student.jsx":"13","/home/shashi/Projects/React Projects/hostel-app/frontend/src/actions/userActions.jsx":"14","/home/shashi/Projects/React Projects/hostel-app/frontend/src/reducers/userReducers.jsx":"15","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/Authentication Screens/LoginView.jsx":"16","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/formContainer.jsx":"17","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/Authentication Screens/RegisterView.jsx":"18","/home/shashi/Projects/React Projects/hostel-app/frontend/src/constants/userConstants.jsx":"19","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/analysisView.jsx":"20","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/loader.jsx":"21","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/footer.jsx":"22","/home/shashi/Projects/React Projects/hostel-app/frontend/src/reportWebVitals.js":"23","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/paginate.jsx":"24","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/studentDetailsView.jsx":"25","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/studentTableView.jsx":"26","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/attendanceView.jsx":"27","/home/shashi/Projects/React Projects/hostel-app/frontend/src/reducers/attendanceReducer.jsx":"28","/home/shashi/Projects/React Projects/hostel-app/frontend/src/actions/attendanceActions.jsx":"29","/home/shashi/Projects/React Projects/hostel-app/frontend/src/constants/attendanceConstant.jsx":"30","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/analysisComponent.jsx":"31","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/attendanceTable.jsx":"32","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/attendanceTableComponent.jsx":"33","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/profileView.jsx":"34","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/userListView.jsx":"35","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/userEditView.jsx":"36"},{"size":2000,"mtime":1612457509687,"results":"37","hashOfConfig":"38"},{"size":2760,"mtime":1612458544737,"results":"39","hashOfConfig":"38"},{"size":7160,"mtime":1612266721633,"results":"40","hashOfConfig":"38"},{"size":595,"mtime":1611587355656,"results":"41","hashOfConfig":"38"},{"size":1760,"mtime":1612540038213,"results":"42","hashOfConfig":"38"},{"size":2509,"mtime":1612455514013,"results":"43","hashOfConfig":"38"},{"size":236,"mtime":1611587355656,"results":"44","hashOfConfig":"38"},{"size":1670,"mtime":1611587355656,"results":"45","hashOfConfig":"38"},{"size":783,"mtime":1611588125620,"results":"46","hashOfConfig":"38"},{"size":3180,"mtime":1612338704456,"results":"47","hashOfConfig":"38"},{"size":1297,"mtime":1612276158097,"results":"48","hashOfConfig":"38"},{"size":4652,"mtime":1612511277820,"results":"49","hashOfConfig":"38"},{"size":861,"mtime":1612458074420,"results":"50","hashOfConfig":"38"},{"size":6593,"mtime":1612243543269,"results":"51","hashOfConfig":"38"},{"size":3520,"mtime":1612243170023,"results":"52","hashOfConfig":"38"},{"size":2146,"mtime":1612242755929,"results":"53","hashOfConfig":"38"},{"size":331,"mtime":1611587355653,"results":"54","hashOfConfig":"38"},{"size":3149,"mtime":1612243440719,"results":"55","hashOfConfig":"38"},{"size":1502,"mtime":1612242844223,"results":"56","hashOfConfig":"38"},{"size":3733,"mtime":1612540523853,"results":"57","hashOfConfig":"38"},{"size":386,"mtime":1611587355656,"results":"58","hashOfConfig":"38"},{"size":280,"mtime":1611587355653,"results":"59","hashOfConfig":"38"},{"size":362,"mtime":1611587355656,"results":"60","hashOfConfig":"38"},{"size":743,"mtime":1612503930076,"results":"61","hashOfConfig":"38"},{"size":5749,"mtime":1612511177533,"results":"62","hashOfConfig":"38"},{"size":2402,"mtime":1612440885763,"results":"63","hashOfConfig":"38"},{"size":1116,"mtime":1612453105207,"results":"64","hashOfConfig":"38"},{"size":1789,"mtime":1612540078413,"results":"65","hashOfConfig":"38"},{"size":2462,"mtime":1612540492013,"results":"66","hashOfConfig":"38"},{"size":859,"mtime":1612539882713,"results":"67","hashOfConfig":"38"},{"size":2641,"mtime":1612539718740,"results":"68","hashOfConfig":"38"},{"size":2085,"mtime":1612454468233,"results":"69","hashOfConfig":"38"},{"size":3361,"mtime":1612453607120,"results":"70","hashOfConfig":"38"},{"size":3635,"mtime":1612455338080,"results":"71","hashOfConfig":"38"},{"size":2730,"mtime":1612457423720,"results":"72","hashOfConfig":"38"},{"size":3182,"mtime":1612457679380,"results":"73","hashOfConfig":"38"},{"filePath":"74","messages":"75","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"76"},"cy2yr9",{"filePath":"77","messages":"78","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"79","usedDeprecatedRules":"76"},{"filePath":"80","messages":"81","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"83","messages":"84","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"86","messages":"87","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"88","messages":"89","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"90","messages":"91","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"92"},{"filePath":"93","messages":"94","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"95"},{"filePath":"96","messages":"97","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"98"},{"filePath":"99","messages":"100","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"101"},{"filePath":"102","messages":"103","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"76"},{"filePath":"104","messages":"105","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"106","messages":"107","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"101"},{"filePath":"108","messages":"109","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"76"},{"filePath":"110","messages":"111","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"101"},{"filePath":"112","messages":"113","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"95"},{"filePath":"114","messages":"115","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"101"},{"filePath":"116","messages":"117","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"118","messages":"119","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"101"},{"filePath":"120","messages":"121","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"122"},{"filePath":"123","messages":"124","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"95"},{"filePath":"125","messages":"126","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"101"},{"filePath":"127","messages":"128","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"101"},{"filePath":"129","messages":"130","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"101"},{"filePath":"131","messages":"132","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"133","usedDeprecatedRules":"101"},{"filePath":"134","messages":"135","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"136","usedDeprecatedRules":"82"},{"filePath":"137","messages":"138","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"76"},{"filePath":"139","messages":"140","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"141","messages":"142","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"143","messages":"144","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"145","messages":"146","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"147","messages":"148","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"149","usedDeprecatedRules":"82"},{"filePath":"150","messages":"151","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"152"},{"filePath":"153","messages":"154","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"95"},{"filePath":"155","messages":"156","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"157","messages":"158","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"101"},"/home/shashi/Projects/React Projects/hostel-app/frontend/src/App.js",[],["159","160"],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/homeView.jsx",["161"],"import React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Student from \"../components/student\";\nimport Loading from \"../components/loader.jsx\";\nimport Message from \"../components/message.jsx\";\nimport { listStudents } from \"../actions/studentActions\";\nimport Paginate from \"../components/paginate\";\nimport {\n Row,\n Col,\n ButtonGroup,\n ToggleButton,\n Container,\n} from \"react-bootstrap\";\nimport StudentsTableView from \"./studentTableView\";\n\nconst HomeView = ({ match, history }) => {\n const [isGrid, setIsGrid] = useState(true);\n const keyword = match.params.keyword;\n\n const pageNumber = match.params.pageNumber || 1;\n const userLogin = useSelector((state) => state.userLogin);\n const { loading: userLoading, userInfo } = userLogin;\n\n const dispatch = useDispatch();\n\n const studentsList = useSelector((state) => state.studentsList);\n const { loading, error, students, page, pages } = studentsList;\n\n useEffect(() => {\n if (!userLoading && !userInfo) {\n history.push(\"/login\");\n }\n dispatch(listStudents(keyword, pageNumber));\n }, [keyword, pageNumber]);\n\n return (\n <>\n <>\n \n \n \n \n \n {[\"Grid\", \"Table\"].map((type) => (\n \n setIsGrid(e.target.value === \"Grid\" ? true : false)\n }\n >\n {type === \"Grid\" ? <> Grid : <> Table }\n \n ))}\n \n \n \n \n \n \n\n

Students

\n {loading ? (\n \n ) : error ? (\n {error}\n ) : isGrid ? (\n <>\n \n {students.map((student) => (\n \n \n \n ))}\n \n \n \n ) : (\n <>\n \n \n )}\n \n );\n};\n\nexport default HomeView;\n","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/addStudentView.jsx",[],["162","163"],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/index.js",[],["164","165"],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/store.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/header.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/message.jsx",[],["166","167"],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/rating.jsx",[],["168","169"],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/searchBox.jsx",[],["170","171"],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/reducers/studentsReducer.jsx",[],["172","173"],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/constants/studentConstant.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/actions/studentActions.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/student.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/actions/userActions.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/reducers/userReducers.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/Authentication Screens/LoginView.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/formContainer.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/Authentication Screens/RegisterView.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/constants/userConstants.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/analysisView.jsx",["174","175"],"import React, { useState, useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Row, Col, Button, Modal, Form } from \"react-bootstrap\";\nimport DatePicker from \"react-datepicker\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport {\n deleteAttendanceByDate,\n getAnalysisByDate,\n} from \"../actions/attendanceActions\";\nimport AnalysisComponent from \"../components/analysisComponent\";\nimport Loading from \"../components/loader\";\nimport Message from \"../components/message\";\n\nconst AnalysisView = () => {\n const dispatch = useDispatch();\n const [modal, setModal] = useState(false);\n const [days, setDays] = useState(0);\n const [idList, setIdList] = useState([]);\n const [startDate, setStartDate] = useState(new Date());\n const attendanceAnalysis = useSelector((state) => state.attendanceAnalysis);\n const { attendance } = attendanceAnalysis;\n const attendanceDelete = useSelector((state) => state.attendanceDelete);\n const {\n loading: loadingDelete,\n success: successDelete,\n error: errorDelete,\n } = attendanceDelete;\n useEffect(() => {\n if (attendance) {\n var temp = idList;\n Object.entries(attendance.details).map((at) => {\n temp.push(at[0]);\n });\n\n setIdList(temp);\n } else {\n dispatch(getAnalysisByDate(startDate.toString().substring(0, 15)));\n }\n }, [attendance, dispatch]);\n\n const changeDate = (date) => {\n dispatch(getAnalysisByDate(date.toString().substring(0, 15)));\n setStartDate(date);\n };\n const showModal = () => {\n setModal(true);\n };\n const closeModal = () => {\n setModal(false);\n };\n\n const startDelete = () => {\n setModal(false);\n dispatch(deleteAttendanceByDate(days));\n };\n\n return (\n <>\n \n \n Go Back\n \n
\n \n
\n
\n {loadingDelete && }\n {errorDelete && {errorDelete}}\n {successDelete && Attendance Deleted}\n\n \n \n \n Analysis for \n \n {startDate.toISOString().toString().substring(0, 10)}\n \n \n \n changeDate(date)}\n />\n \n \n \n \n Enter Number of days before to delete\n \n \n
\n \n Enter no of days\n setDays(e.target.value)}\n >\n \n
\n
\n \n \n \n \n
\n {}\n \n \n );\n};\n\nexport default AnalysisView;\n","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/loader.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/footer.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/reportWebVitals.js",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/paginate.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/studentDetailsView.jsx",["176"],"import React, { useState, useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n Row,\n Col,\n Image,\n ListGroup,\n Card,\n Button,\n Form,\n} from \"react-bootstrap\";\nimport Loading from \"../components/loader\";\nimport Message from \"../components/message\";\nimport {\n getStudentDetails,\n updateStudent,\n deleteStudent,\n} from \"../actions/studentActions\";\nimport { STUDENT_UPDATE_RESET } from \"../constants/studentConstant\";\nconst StudentDetailsView = ({ match, history }) => {\n const [status, setStatus] = useState(\"\");\n const dispatch = useDispatch();\n const studentDetails = useSelector((state) => state.studentDetails);\n const { loading, error, student } = studentDetails;\n const studentUpdate = useSelector((state) => state.studentUpdate);\n const {\n loading: loadingUpdate,\n error: errorUpdate,\n success: successUpdate,\n } = studentUpdate;\n const studentDelete = useSelector((state) => state.studentDelete);\n const {\n loading: loadingDelete,\n error: errorDelete,\n success: successDelete,\n } = studentDelete;\n\n useEffect(() => {\n if (successDelete) {\n history.push(\"/\");\n }\n if (successUpdate) {\n dispatch({ type: STUDENT_UPDATE_RESET });\n }\n if (!student || !student._id || student._id !== match.params.id) {\n dispatch(getStudentDetails(match.params.id));\n }\n if (student && student._id && !status) {\n setStatus(student.status);\n }\n }, [dispatch, match, successUpdate, successDelete]);\n\n const navigateToEdit = () => {\n history.push({\n pathname: `/student/edit/${student._id}`,\n state: { studentProps: student },\n });\n };\n const updateStatus = () => {\n student.status = status;\n dispatch(updateStudent(student));\n };\n\n const deleteStuden = () => {\n if (window.confirm(\"Are you sure\")) {\n dispatch(deleteStudent(student._id));\n }\n };\n return (\n <>\n \n Go Back\n \n {loading || loadingUpdate || loadingDelete ? (\n \n ) : error ? (\n {error}\n ) : (\n <>\n {errorUpdate && {errorUpdate}}\n {errorDelete && {errorDelete}}\n {student && (\n \n \n {student.name}\n \n \n \n \n

{student.name}

\n
\n \n Phone No:{student.contact}\n \n \n Father Contact:{student.fatherContact}\n \n \n City:{student.city}\n \n \n Address:{student.address}\n \n
\n \n \n \n \n \n \n Room No:\n {student.roomNo}\n \n \n \n \n Block No:\n {student.blockNo}\n \n \n \n \n Status:\n \n setStatus(e.target.value)}\n >\n {[\"Hostel\", \"Outside\", \"Home\"].map((x) => (\n \n ))}\n \n \n \n \n \n \n Update\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n )}\n \n )}\n \n );\n};\n\nexport default StudentDetailsView;\n","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/studentTableView.jsx",["177"],"import React, { useEffect } from \"react\";\nimport { Table } from \"react-bootstrap\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Message from \"../components/message\";\nimport Loader from \"../components/loader\";\nimport Paginate from \"../components/paginate\";\nimport { listStudents } from \"../actions/studentActions\";\nimport { Link } from \"react-router-dom\";\n\nconst StudentsTableView = ({ keyword, pageNumber }) => {\n const dispatch = useDispatch();\n\n const studentsList = useSelector((state) => state.studentsList);\n const { loading, error, students, page, pages } = studentsList;\n useEffect(() => {\n if (!students) {\n dispatch(listStudents(keyword, pageNumber));\n }\n }, [dispatch, keyword, pageNumber]);\n return (\n <>\n {loading ? (\n \n ) : error ? (\n {error}\n ) : (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n {students.map((student) => (\n \n \n \n \n \n \n \n \n ))}\n \n
StreamNAMESTATUSCONTACTROOM NOCITY
{student.category}\n {student.name}\n \n \n {student.status}\n \n \n {student.contact}\n {student.roomNo}{student.city}
\n \n \n )}\n \n );\n};\n\nexport default StudentsTableView;\n","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/attendanceView.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/reducers/attendanceReducer.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/actions/attendanceActions.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/constants/attendanceConstant.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/analysisComponent.jsx",["178"],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/attendanceTable.jsx",["179","180","181"],"import React, { useEffect, useState } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport Loading from \"./loader\";\nimport Message from \"./message\";\nimport AttendanceTableComponent from \"./attendanceTableComponent\";\n\nconst AttendanceTable = ({ roomNo }) => {\n const dispatch = useDispatch();\n const [attendanceMap, setAttendanceMap] = useState({});\n\n const getStudentsByRoomNo = useSelector((state) => state.getStudentsByRoomNo);\n const { loading, error, students, attendance } = getStudentsByRoomNo;\n const attendanceDataEnter = useSelector((state) => state.attendanceDataEnter);\n const {\n loading: loadingAttendance,\n error: errorAttendance,\n } = attendanceDataEnter;\n useEffect(() => {\n if (students) {\n arrangeTable();\n }\n }, [dispatch, attendance, attendanceMap, students]);\n\n const arrangeTable = () => {\n if (attendance) {\n var tempMap = attendanceMap;\n students.map((student) => {\n if (attendance.data[student._id]) {\n tempMap[student._id] = attendance.data[student._id];\n } else {\n tempMap[student._id] = \"Hostel\";\n }\n });\n setAttendanceMap(attendanceMap);\n } else {\n students.map((student) => {\n var temp = attendanceMap;\n temp[student._id] = \"Hostel\";\n setAttendanceMap(temp);\n });\n }\n var temp = attendanceMap;\n setAttendanceMap(temp);\n };\n\n return (\n <>\n {error && {error}}\n {loading || loadingAttendance ? (\n \n ) : (\n <>\n {errorAttendance && (\n {errorAttendance}\n )}\n {students && (\n <>\n \n \n )}\n \n )}\n \n );\n};\n\nexport default AttendanceTable;\n","/home/shashi/Projects/React Projects/hostel-app/frontend/src/components/attendanceTableComponent.jsx",["182"],"import React, { useEffect } from \"react\";\nimport { Table, Form, Button } from \"react-bootstrap\";\nimport { useDispatch } from \"react-redux\";\nimport { postAttendance } from \"../actions/attendanceActions\";\nimport { Link } from \"react-router-dom\";\nconst AttendanceTableComponent = ({\n students,\n attendanceMap,\n setAttendanceMap,\n attendance,\n roomNo,\n}) => {\n const dispatch = useDispatch();\n useEffect(() => {}, [dispatch, attendanceMap]);\n const updateAttendance = () => {\n if (attendance) {\n if (!attendance.roomNo.includes(roomNo)) {\n attendance.roomNo.push(roomNo);\n }\n }\n const roomData = attendance ? attendance.roomNo : roomNo;\n const dataData = attendanceMap;\n const detailsData = attendance ? attendance.details : {};\n students.map((student) => {\n detailsData[student._id] = {\n name: student.name,\n contact: student.contact,\n roomNo: student.roomNo,\n };\n });\n\n dispatch(\n postAttendance({\n roomNo: roomData,\n details: detailsData,\n data: dataData,\n })\n );\n };\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {students &&\n students.map((student) => (\n <>\n \n \n \n \n \n \n \n \n ))}\n \n
NAMEAttendanceSTATUSCONTACTCITY
\n {student.name}\n \n
\n \n {\n var tempMap = attendanceMap;\n tempMap[student._id] = e.target.value;\n setAttendanceMap(tempMap);\n }}\n >\n \n \n \n \n \n
\n
\n \n {student.status}\n \n \n {student.contact}\n {student.city}
\n \n \n );\n};\n\nexport default AttendanceTableComponent;\n","/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/profileView.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/userListView.jsx",[],"/home/shashi/Projects/React Projects/hostel-app/frontend/src/screens/userEditView.jsx",[],{"ruleId":"183","replacedBy":"184"},{"ruleId":"185","replacedBy":"186"},{"ruleId":"187","severity":1,"message":"188","line":35,"column":6,"nodeType":"189","endLine":35,"endColumn":27,"suggestions":"190"},{"ruleId":"183","replacedBy":"191"},{"ruleId":"185","replacedBy":"192"},{"ruleId":"183","replacedBy":"193"},{"ruleId":"185","replacedBy":"194"},{"ruleId":"183","replacedBy":"195"},{"ruleId":"185","replacedBy":"196"},{"ruleId":"183","replacedBy":"197"},{"ruleId":"185","replacedBy":"198"},{"ruleId":"183","replacedBy":"199"},{"ruleId":"185","replacedBy":"200"},{"ruleId":"183","replacedBy":"201"},{"ruleId":"185","replacedBy":"202"},{"ruleId":"203","severity":1,"message":"204","line":32,"column":51,"nodeType":"205","messageId":"206","endLine":32,"endColumn":53},{"ruleId":"187","severity":1,"message":"207","line":40,"column":6,"nodeType":"189","endLine":40,"endColumn":28,"suggestions":"208"},{"ruleId":"187","severity":1,"message":"209","line":52,"column":6,"nodeType":"189","endLine":52,"endColumn":53,"suggestions":"210"},{"ruleId":"187","severity":1,"message":"211","line":19,"column":6,"nodeType":"189","endLine":19,"endColumn":37,"suggestions":"212"},{"ruleId":"203","severity":1,"message":"204","line":22,"column":56,"nodeType":"205","messageId":"206","endLine":22,"endColumn":58},{"ruleId":"187","severity":1,"message":"213","line":22,"column":6,"nodeType":"189","endLine":22,"endColumn":53,"suggestions":"214"},{"ruleId":"203","severity":1,"message":"204","line":27,"column":30,"nodeType":"205","messageId":"206","endLine":27,"endColumn":32},{"ruleId":"203","severity":1,"message":"204","line":36,"column":30,"nodeType":"205","messageId":"206","endLine":36,"endColumn":32},{"ruleId":"203","severity":1,"message":"204","line":24,"column":28,"nodeType":"205","messageId":"206","endLine":24,"endColumn":30},"no-native-reassign",["215"],"no-negated-in-lhs",["216"],"react-hooks/exhaustive-deps","React Hook useEffect has missing dependencies: 'dispatch', 'history', 'userInfo', and 'userLoading'. Either include them or remove the dependency array.","ArrayExpression",["217"],["215"],["216"],["215"],["216"],["215"],["216"],["215"],["216"],["215"],["216"],["215"],["216"],"array-callback-return","Array.prototype.map() expects a return value from arrow function.","ArrowFunctionExpression","expectedInside","React Hook useEffect has missing dependencies: 'idList' and 'startDate'. Either include them or remove the dependency array.",["218"],"React Hook useEffect has missing dependencies: 'history', 'status', and 'student'. Either include them or remove the dependency array.",["219"],"React Hook useEffect has a missing dependency: 'students'. Either include it or remove the dependency array.",["220"],"React Hook useEffect has a missing dependency: 'arrangeTable'. Either include it or remove the dependency array.",["221"],"no-global-assign","no-unsafe-negation",{"desc":"222","fix":"223"},{"desc":"224","fix":"225"},{"desc":"226","fix":"227"},{"desc":"228","fix":"229"},{"desc":"230","fix":"231"},"Update the dependencies array to be: [dispatch, history, keyword, pageNumber, userInfo, userLoading]",{"range":"232","text":"233"},"Update the dependencies array to be: [attendance, dispatch, idList, startDate]",{"range":"234","text":"235"},"Update the dependencies array to be: [dispatch, match, successUpdate, successDelete, student, status, history]",{"range":"236","text":"237"},"Update the dependencies array to be: [dispatch, keyword, pageNumber, students]",{"range":"238","text":"239"},"Update the dependencies array to be: [dispatch, attendance, attendanceMap, students, arrangeTable]",{"range":"240","text":"241"},[1116,1137],"[dispatch, history, keyword, pageNumber, userInfo, userLoading]",[1402,1424],"[attendance, dispatch, idList, startDate]",[1494,1541],"[dispatch, match, successUpdate, successDelete, student, status, history]",[702,733],"[dispatch, keyword, pageNumber, students]",[780,827],"[dispatch, attendance, attendanceMap, students, arrangeTable]"] -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hostel-app", 3 | "version": "0.1.0", 4 | "proxy": "http://127.0.0.1:5000", 5 | "private": true, 6 | "dependencies": { 7 | "@testing-library/jest-dom": "^5.11.4", 8 | "@testing-library/react": "^11.1.0", 9 | "@testing-library/user-event": "^12.1.10", 10 | "axios": "^0.21.1", 11 | "react": "^17.0.1", 12 | "react-bootstrap": "^1.4.3", 13 | "react-csv": "^2.0.3", 14 | "react-datepicker": "^3.4.1", 15 | "react-dom": "^17.0.1", 16 | "react-redux": "^7.2.2", 17 | "react-router-bootstrap": "^0.25.0", 18 | "react-router-dom": "^5.2.0", 19 | "react-scripts": "4.0.1", 20 | "redux": "^4.0.5", 21 | "redux-devtools-extension": "^2.13.8", 22 | "redux-thunk": "^2.3.0", 23 | "web-vitals": "^0.2.4" 24 | }, 25 | "scripts": { 26 | "start": "react-scripts start", 27 | "build": "react-scripts build", 28 | "test": "react-scripts test", 29 | "eject": "react-scripts eject" 30 | }, 31 | "eslintConfig": { 32 | "extends": [ 33 | "react-app", 34 | "react-app/jest" 35 | ] 36 | }, 37 | "browserslist": { 38 | "production": [ 39 | ">0.2%", 40 | "not dead", 41 | "not op_mini all" 42 | ], 43 | "development": [ 44 | "last 1 chrome version", 45 | "last 1 firefox version", 46 | "last 1 safari version" 47 | ] 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shashiben/Hostel-Management/030f7684a3cc9c4a62a204ab2d6046413632f866/frontend/public/favicon.ico -------------------------------------------------------------------------------- /frontend/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 17 | 23 | 24 | 33 | React App 34 | 35 | 36 | 37 |
38 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /frontend/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shashiben/Hostel-Management/030f7684a3cc9c4a62a204ab2d6046413632f866/frontend/public/logo192.png -------------------------------------------------------------------------------- /frontend/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shashiben/Hostel-Management/030f7684a3cc9c4a62a204ab2d6046413632f866/frontend/public/logo512.png -------------------------------------------------------------------------------- /frontend/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /frontend/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /frontend/src/App.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import HomeView from "../src/screens/homeView"; 3 | import { BrowserRouter as Router, Route } from "react-router-dom"; 4 | import { Container } from "react-bootstrap"; 5 | import Header from "./components/header"; 6 | import Footer from "./components/footer"; 7 | import AddStudentView from "./screens/addStudentView"; 8 | import AnalysisView from "./screens/analysisView"; 9 | import LoginView from "./screens/Authentication Screens/LoginView"; 10 | import RegisterView from "./screens/Authentication Screens/RegisterView"; 11 | import StudentDetailsView from "./screens/studentDetailsView"; 12 | import AttendanceView from "./screens/attendanceView"; 13 | import ProfileView from "./screens/profileView"; 14 | import UserListView from "./screens/userListView"; 15 | import UserEditView from "./screens/userEditView"; 16 | 17 | const App = () => { 18 | return ( 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 40 | 41 | 42 |
43 |