ระบบนี้ได้ถูกพัฒนาขึ้นเพื่อแก้ไขปัญหาความล่าช้าในการส่งแบบฟอร์มฝึกประสบการณ์วิชาชีพของนักศึกษา โดยพัฒนาด้วย React.js Redux Node.js Express MySQL Sequelize
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
ระบบสารสนเทศเพื่อจัดการสถานที่ฝึกประสบการณ์วิชาชีพสาขาวิชาคอมพิวเตอร์ ซึ่งเป็นโครงงานคอมพิวเตอร์นี้ขึ้นมา เพื่อแก้ปัญหา ในการจัดการแบบฟอร์มสถานที่ฝึกประสบการณ์วิชาชีพสาขาวิชาคอมพิวเตอร์
- models
- routes
- controllers
- infrastructure ( Axios - การเชื่อมต่อกับ api)
- views ( React - admin, director, student)
- redux ( Redux - action middleware reducer selector store)
- npm
npm install npm@latest -g
- Clone the repo
git clone https://github.com/lacakira/internship-management-system.git
- Install NPM packages
npm install
- Enter your API in
/server/infrastructure/services/config/index.js
const BASE_URL = "http://localhost:5000/api";
- DOT ENV
/src/.env
NODE_ENV=development CLIENT_URL= "http://localhost" PORT="YOUR PORT" JWT_SECRET= "YOUR JWT RANDOM THING" DB_USERNAME= "DBUSERNAME" DB_PASSWORD="DBPASS" DB_HOST= DB_DATABASE_MAIN_DEV= internship_db DB_DATABASE_ADDRESS_DEV=thai_addresses_db DB_DATABASE_MAIN_PRODUCTION=internship_db DB_DATABASE_ADDRESS_PRODUCTION=thai_addresses_db DB_DATABASE_MAIN_TEST=internship_db DB_DATABASE_ADDRESS_TEST=thai_addresses_db PATH_TO_SAVE_IMG_PRODUCTION=/var/www/html/images PATH_TO_SAVE_IMG_DEVELOPMENT=../public/images
- Make code cleaner
- keep images with another option
- สามารถเข้าสู่ระบบได้
- สามารถดูแบบฟอร์มฝึกประสบการณ์วิชาชีพได้
- สามารถเพิ่มข้อมูลแบบฟอร์มฝึกประสบการณ์วิชาชีพได้
- สามารถส่งแบบฟอร์มฝึกประสบการณ์วิชาชีพได้
- เมื่อส่งแบบฟอร์มจะไม่สามารถบันทึกข้อมูลแบบฟอร์มฝึกประสบการณ์วิชาชีพได้
- สามารถยกเลิกการส่งแบบฟอร์มวิชาชีพได้
- สามารถดูข้อมูลแบบฟอร์มประวัติส่วนตัวได้
- สามารถเพิ่มข้อมูลแบบฟอร์มประวัติส่วนตัวได้
- สามารถบันทึกแบบฟอร์มประวัติส่วนตัวได้
- สามารถออกจากระบบได้
- สามารถเข้าสู่ระบบได้
- สามารถดูข้อมูลรายการฝึกประบการณ์วิชาชีพนักศึกษา สถาณะ "รออนุมัติ" ได้
- สามารถดูข้อมูลแบบฟอร์มฝึกประสบการณ์วิชาชีพของนักศึกษาได้
- สามารถอนุมัติแบบฟอร์มฝึกประสบการณ์วิชาชีพของนักศึกษาได้
- สามารถส่งคืนแบบฟอร์มฝึกประสบการณ์วิชาชีพของนักศึกษาได้
- สามารถดูข้อมูลรายการฝึกประบการณ์วิชาชีพนักศึกษา สถาณะ "อนุมัติ" ได้
- สามารถเปลี่ยนสถานะแบบฟอร์มฝึกประสบการณ์วิชาชีพของนักศึกษา เป็น "รออนุมัติ" ได้
- สามารถออกจากระบบได้
- สามารถเข้าสู่ระบบได้
- สามารถดูข้อมูลรายการข้อมูลสมาชิกได้
- สามารถเพิ่มสมาชิกได้
- สามารถแก้ไขข้อมูลการเข้าสู่ระบบของสมาชิกได้
- สามารถแก้ไขประวัติส่วนตัวของนักศึกษาได้
- สามารถออกจากระบบได้
📦internship-management-system
┣ 📂public
┃ ┣ 📂images
┃ ┣ 📜favicon.ico
┃ ┣ 📜index.html
┃ ┣ 📜logo192.png
┃ ┣ 📜logo512.png
┃ ┣ 📜manifest.json
┃ ┗ 📜robots.txt
┣ 📂README
┃ ┗ 📂system-analysis
┃ ┃ ┗ 📜ER-Diagram.png
┣ 📂server
┃ ┣ 📂config
┃ ┃ ┗ 📜config.js
┃ ┣ 📂controllers
┃ ┃ ┣ 📂admin
┃ ┃ ┃ ┣ 📜admin.students.controller.js
┃ ┃ ┃ ┗ 📜login.controller.js
┃ ┃ ┣ 📜addresses.controller.js
┃ ┃ ┣ 📜auth.controllers.js
┃ ┃ ┣ 📜directors.controller.js
┃ ┃ ┣ 📜internships.controller.js
┃ ┃ ┣ 📜students.controller.js
┃ ┃ ┣ 📜thaiAddresses.controller.js
┃ ┃ ┗ 📜upload.controller.js
┃ ┣ 📂database
┃ ┃ ┣ 📜internship_db.sql
┃ ┃ ┗ 📜thai_addresses_db.sql
┃ ┣ 📂middlewares
┃ ┃ ┗ 📜auth.middleware.js
┃ ┣ 📂models
┃ ┃ ┣ 📂internship
┃ ┃ ┃ ┣ 📜Addresses.js
┃ ┃ ┃ ┣ 📜Companies.js
┃ ┃ ┃ ┣ 📜ContactPersons.js
┃ ┃ ┃ ┣ 📜CoStudentInternships.js
┃ ┃ ┃ ┣ 📜Directors.js
┃ ┃ ┃ ┣ 📜Educations.js
┃ ┃ ┃ ┣ 📜HometownAddresses.js
┃ ┃ ┃ ┣ 📜index.js
┃ ┃ ┃ ┣ 📜Internships.js
┃ ┃ ┃ ┣ 📜Login.js
┃ ┃ ┃ ┣ 📜PresentAddresses.js
┃ ┃ ┃ ┗ 📜Students.js
┃ ┃ ┗ 📂thaiAddresses
┃ ┃ ┃ ┣ 📜Districts.js
┃ ┃ ┃ ┣ 📜Geographies.js
┃ ┃ ┃ ┣ 📜index.js
┃ ┃ ┃ ┣ 📜Provinces.js
┃ ┃ ┃ ┗ 📜SubDistricts.js
┃ ┣ 📂routes
┃ ┃ ┣ 📂admin
┃ ┃ ┃ ┣ 📜admin.students.route.js
┃ ┃ ┃ ┗ 📜login.route.js
┃ ┃ ┣ 📜addresses.route.js
┃ ┃ ┣ 📜auth.route.js
┃ ┃ ┣ 📜directors.route.js
┃ ┃ ┣ 📜internships.route.js
┃ ┃ ┣ 📜students.route.js
┃ ┃ ┣ 📜thaiAddresses.route.js
┃ ┃ ┗ 📜upload.route.js
┃ ┣ 📜.env
┃ ┣ 📜.eslintrc.js
┃ ┣ 📜.gitignore
┃ ┣ 📜app.js
┃ ┣ 📜Copy.env
┃ ┣ 📜index.js
┃ ┣ 📜package.json
┃ ┣ 📜README.md
┃ ┣ 📜server.zip
┃ ┗ 📜yarn.lock
┣ 📂src
┃ ┣ 📂helpers
┃ ┃ ┗ 📜Persist.js
┃ ┣ 📂infrastructure
┃ ┃ ┗ 📂services
┃ ┃ ┃ ┣ 📂api
┃ ┃ ┃ ┃ ┣ 📂admin
┃ ┃ ┃ ┃ ┃ ┣ 📜login.js
┃ ┃ ┃ ┃ ┃ ┗ 📜profile.js
┃ ┃ ┃ ┃ ┣ 📂auth
┃ ┃ ┃ ┃ ┃ ┣ 📜index.js
┃ ┃ ┃ ┃ ┃ ┗ 📜login.js
┃ ┃ ┃ ┃ ┣ 📂director
┃ ┃ ┃ ┃ ┃ ┗ 📜index.js
┃ ┃ ┃ ┃ ┣ 📂student
┃ ┃ ┃ ┃ ┃ ┗ 📜index.js
┃ ┃ ┃ ┃ ┣ 📂thaiAddresses
┃ ┃ ┃ ┃ ┃ ┣ 📜index.js
┃ ┃ ┃ ┃ ┃ ┗ 📜thaiAddressApi.js
┃ ┃ ┃ ┃ ┣ 📂upload
┃ ┃ ┃ ┃ ┃ ┗ 📜index.js
┃ ┃ ┃ ┃ ┣ 📂users
┃ ┃ ┃ ┃ ┃ ┗ 📜index.js
┃ ┃ ┃ ┃ ┗ 📜index.js
┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┗ 📜index.js
┃ ┃ ┃ ┣ 📂logger
┃ ┃ ┃ ┃ ┣ 📜console.js
┃ ┃ ┃ ┃ ┗ 📜elastic-search.js
┃ ┃ ┃ ┗ 📜index.js
┃ ┣ 📂redux
┃ ┃ ┣ 📂actions
┃ ┃ ┃ ┣ 📂admin
┃ ┃ ┃ ┃ ┣ 📜login.js
┃ ┃ ┃ ┃ ┗ 📜profile.js
┃ ┃ ┃ ┣ 📂director
┃ ┃ ┃ ┃ ┗ 📜internship.js
┃ ┃ ┃ ┣ 📂student
┃ ┃ ┃ ┃ ┣ 📜internship.js
┃ ┃ ┃ ┃ ┗ 📜resume.js
┃ ┃ ┃ ┣ 📜auth.js
┃ ┃ ┃ ┣ 📜ui.js
┃ ┃ ┃ ┣ 📜upload.js
┃ ┃ ┃ ┗ 📜users.js
┃ ┃ ┣ 📂middleware
┃ ┃ ┃ ┣ 📂admin
┃ ┃ ┃ ┃ ┣ 📜login.js
┃ ┃ ┃ ┃ ┗ 📜profile.js
┃ ┃ ┃ ┣ 📂director
┃ ┃ ┃ ┃ ┗ 📜internship.js
┃ ┃ ┃ ┣ 📂student
┃ ┃ ┃ ┃ ┣ 📜internship.js
┃ ┃ ┃ ┃ ┗ 📜resume.js
┃ ┃ ┃ ┣ 📜auth.js
┃ ┃ ┃ ┣ 📜index.js
┃ ┃ ┃ ┣ 📜ui.js
┃ ┃ ┃ ┣ 📜upload.js
┃ ┃ ┃ ┗ 📜users.js
┃ ┃ ┣ 📂reducers
┃ ┃ ┃ ┣ 📂admin
┃ ┃ ┃ ┃ ┣ 📜login.js
┃ ┃ ┃ ┃ ┗ 📜profile.js
┃ ┃ ┃ ┣ 📂director
┃ ┃ ┃ ┃ ┗ 📜internship.js
┃ ┃ ┃ ┣ 📂student
┃ ┃ ┃ ┃ ┗ 📜internship.js
┃ ┃ ┃ ┣ 📜auth.js
┃ ┃ ┃ ┣ 📜index.js
┃ ┃ ┃ ┗ 📜ui.js
┃ ┃ ┣ 📂selectors
┃ ┃ ┃ ┣ 📂admin
┃ ┃ ┃ ┃ ┣ 📜login.js
┃ ┃ ┃ ┃ ┗ 📜profile.js
┃ ┃ ┃ ┣ 📂director
┃ ┃ ┃ ┃ ┗ 📜internship.js
┃ ┃ ┃ ┣ 📂student
┃ ┃ ┃ ┃ ┗ 📜internship.js
┃ ┃ ┃ ┣ 📜auth.js
┃ ┃ ┃ ┣ 📜ui.js
┃ ┃ ┃ ┗ 📜users.js
┃ ┃ ┗ 📜store.js
┃ ┣ 📂views
┃ ┃ ┣ 📂admin
┃ ┃ ┃ ┣ 📂manages
┃ ┃ ┃ ┃ ┣ 📜Login.jsx
┃ ┃ ┃ ┃ ┣ 📜LoginAdd.jsx
┃ ┃ ┃ ┃ ┣ 📜LoginUpdate.jsx
┃ ┃ ┃ ┃ ┣ 📜StudentUpdate.jsx
┃ ┃ ┃ ┃ ┗ 📜StudentUpdateHook.jsx
┃ ┃ ┃ ┣ 📜Controllers.jsx
┃ ┃ ┃ ┗ 📜index.jsx
┃ ┃ ┣ 📂components
┃ ┃ ┃ ┣ 📜Footer.jsx
┃ ┃ ┃ ┣ 📜Layout.jsx
┃ ┃ ┃ ┣ 📜Missing.jsx
┃ ┃ ┃ ┣ 📜Navbar.jsx
┃ ┃ ┃ ┣ 📜RequireAuth.jsx
┃ ┃ ┃ ┣ 📜Signin.jsx
┃ ┃ ┃ ┗ 📜Unauthorized.jsx
┃ ┃ ┣ 📂director
┃ ┃ ┃ ┣ 📂internship
┃ ┃ ┃ ┃ ┣ 📜InternshipsConfirmed.jsx
┃ ┃ ┃ ┃ ┣ 📜InternshipsPending.jsx
┃ ┃ ┃ ┃ ┗ 📜InternshipsViews.jsx
┃ ┃ ┃ ┗ 📜index.jsx
┃ ┃ ┣ 📂students
┃ ┃ ┃ ┣ 📜Controllers.jsx
┃ ┃ ┃ ┣ 📜index.jsx
┃ ┃ ┃ ┣ 📜InternshipForm.jsx
┃ ┃ ┃ ┣ 📜InternshipHook.jsx
┃ ┃ ┃ ┣ 📜ResumeForm.jsx
┃ ┃ ┃ ┣ 📜ResumeHook.jsx
┃ ┃ ┃ ┗ 📜StudentHomePage.jsx
┃ ┃ ┣ 📜Home.jsx
┃ ┃ ┗ 📜index.jsx
┃ ┣ 📜index.css
┃ ┗ 📜index.js
┣ 📜.gitignore
┣ 📜package-lock.json
┣ 📜package.json
┣ 📜postcss.config.js
┣ 📜README.md
┣ 📜tailwind.config.js
┣ 📜webpack.config.js
┗ 📜yarn.lock
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Akkarapon Phikulsri - [email protected]
Project Link: https://github.com/billowdev/internship-management-system