├── .gitignore ├── README.md ├── backend ├── Process.md ├── apiHelp.js ├── app.js ├── controllers │ ├── JobsTypeController.js │ ├── authController.js │ ├── courseControllers.js │ ├── jobsController.js │ └── userController.js ├── middleware │ ├── auth.js │ └── error.js ├── models │ ├── JobTypeModel.js │ ├── courseModel.js │ ├── jobModel.js │ └── userModel.js ├── package-lock.json ├── package.json ├── routes │ ├── authRoutes.js │ ├── courseRoutes.js │ ├── jobRoutes.js │ ├── jobsTypeRoutes.js │ └── userRoutes.js └── utils │ └── errorResponse.js └── frontend ├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── public ├── favicon.ico ├── index.html ├── logo192.png ├── logo512.png ├── manifest.json ├── privacy.png ├── robots.txt └── shirt-svgrepo-com.svg ├── src ├── App.jsx ├── components │ ├── AdminRoute.jsx │ ├── CardElement.jsx │ ├── ChartComponent.jsx │ ├── ContactUs.jsx │ ├── Demo.jsx │ ├── FindJobsGlimpse.jsx │ ├── Footer.jsx │ ├── HeroSection.jsx │ ├── LoadingBox.jsx │ ├── NavBar.jsx │ ├── Policy.jsx │ ├── SearchInput.jsx │ ├── SlcComponent.jsx │ ├── StatComponent.jsx │ ├── SubcribeComponent.jsx │ ├── Testimonials.jsx │ └── UserRoutes.jsx ├── images │ ├── hr-logo.png │ └── hr-project.png ├── img │ ├── admin_dashboard.png │ ├── aws_img.png │ ├── bg_bg.png │ ├── down_arrow.svg │ ├── edit_profile_icon.svg │ ├── free_img.png │ ├── github_icon.png │ ├── google_img.png │ ├── hero_bg.png │ ├── ibm_img.png │ ├── ibmlogo.png │ ├── instagram_icon.png │ ├── jobbg.jpg │ ├── linkedin_icon.png │ ├── location.png │ ├── login.png │ ├── logout_icon.svg │ ├── mail_icon.png │ ├── menu_icon.svg │ ├── ms_img.png │ ├── phone_icon.png │ ├── privacy_policy.png │ ├── settings_icon.svg │ ├── shirt-svgrepo-com.svg │ ├── sony_img.png │ ├── spotigy_img.png │ ├── tesla_img.png │ ├── testimonial_1.jpg │ ├── testimonial_2.jpg │ ├── testimonial_3.jpg │ ├── twitter_icon.png │ ├── user_dashboard.png │ ├── user_profile_image.png │ └── walking_girl.png ├── index.css ├── index.js ├── pages │ ├── FindJob.jsx │ ├── Home.jsx │ ├── Login.jsx │ ├── NotFound.jsx │ ├── Resources.jsx │ ├── SignUp.jsx │ ├── SingleJob.jsx │ ├── admin │ │ ├── AdminDashboard.jsx │ │ ├── JobCategary │ │ │ ├── AdminCreateJobType.jsx │ │ │ ├── AdminDeleteJobType.jsx │ │ │ ├── AdminEditJobType.jsx │ │ │ └── AdminJobTypes.jsx │ │ ├── Jobs │ │ │ ├── AdminDeleteJob.jsx │ │ │ ├── AdminEditJob.jsx │ │ │ ├── AdminJobCreate.jsx │ │ │ └── AdminJobs.jsx │ │ ├── User │ │ │ ├── AdminCreateuser.jsx │ │ │ ├── AdminDeleteUser.jsx │ │ │ ├── AdminEditUser.jsx │ │ │ └── AdminUsers.jsx │ │ └── data │ │ │ └── data.js │ ├── global │ │ ├── HeaderTop.jsx │ │ ├── Layout.jsx │ │ └── Sidebar.jsx │ └── user │ │ ├── UserDashBoard.jsx │ │ ├── UserInfoDashboard.jsx │ │ └── UserJobHistory.jsx ├── redux │ ├── actions │ │ ├── jobAction.js │ │ ├── jobTypeAction.js │ │ └── userAction.js │ ├── constants │ │ ├── jobConstant.js │ │ ├── jobTypeConstant.js │ │ └── userConstant.js │ ├── reducers │ │ ├── jobReducer.js │ │ ├── jobTypeReducer.js │ │ └── userReducer.js │ └── store.js └── theme.js └── tailwind.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env 3 | hooks.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #
JobSet
2 | 3 | ## About JobSet 4 | This is a simple job-finding website named JobSet. This website is being developed under the competition IBM Web Intern. 5 | ## Motivation 6 | Simple Job Finding Wesbite with its minimalistic yet attractive UI The early birds with basic knowledge of JavaScript and React can contribute to this repository. 7 | Even if you have the slightest doubt, you can start a discussion about it in the repositories Discussion section. 8 | ## How to Contribute? 9 | - Take a look at the existing. [Issues](https://github.com/TechieeGeeeks/JobSet/issues) 10 | - Fork the Repo.{location}
14 |{category}
17 |18 | Description: {description.split(' ').slice(0, 15).join(' ') + '...'} 19 |
20 |{salary}$
24 |/Year
25 |{job.title}
49 |{job.company}
50 |{job.salary}
55 |/month
56 |{location}
72 |{category}
75 |76 | Description: {description.split(' ').slice(0, 15).join(' ') + '...'} 77 |
78 |{salary}
82 |/month
83 |{job.title}
102 |{job.company}
103 |{job.salary}
108 |/month
109 |52 | We're here to help! Contact us and we'll make sure all your queries and concerns are resolved. 53 |
54 |Why Wait Start Now!
25 | 26 | 27 |29 | Make Your Dreams Work: Find Your Dream Job 30 |
31 |32 | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown 33 |
34 |JobSet
66 |Job set tho life set
67 |15 | JobSet hai, toh life set hai! 16 |
17 | 18 |19 | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially... 20 |
21 | 22 | 23 | {/* 24 |22 | At [Your Company Name], we take your privacy seriously. This Privacy 23 | Policy outlines how we collect, use, and protect the personal 24 | information you provide to us through our website. 25 |
26 |35 | We collect personal information such as your name, email address, and 36 | contact details when you voluntarily submit them to us through our 37 | website forms or other means of communication. 38 |
39 |40 | The personal information we collect is used to provide you with the 41 | services and information you request. We may also use this information 42 | to improve our website, customize your user experience, and send you 43 | relevant updates or promotional materials. 44 |
45 |47 | We implement strict security measures to safeguard your personal 48 | information from unauthorized access, disclosure, or alteration. We do 49 | not share your information with third parties unless required by law or 50 | with your explicit consent. 51 |
52 | 53 |55 | You have the right to access, update, or delete the personal information 56 | we hold about you. If you wish to exercise any of these rights or have 57 | any questions about our Privacy Policy, please contact us using the 58 | information provided below. 59 |
60 |{description}
18 |141 | Recent Posts
142 | 143 |{post.company}
153 |{post.location}
154 |{post.jobTitle}
158 |{post.employmentType}
159 |{post.description}
161 |163 | {post.salary} 164 |
165 | 166 |View all
176 |47 |
Salary:
48 |${singleJob && singleJob.salary}
49 | 50 |51 |
Location:
52 |{singleJob && singleJob.location}
53 | 54 | 55 |56 | {singleJob && singleJob.description} 57 |
58 |20 | Are you sure you want to delete this Job Type? 21 |
22 |Are you sure you want to delete this user?
52 |Job Type ID | 46 |Job Type Name | 47 |Requirements | 48 |Actions | 49 |
---|---|---|---|
{job._id} | 58 |{job.jobTypeName} | 59 |{job.requirements} | 60 |
61 |
62 |
65 |
70 |
71 | |
72 |
No job types found.
78 | )} 79 |20 | Are you sure you want to delete this Job? 21 |
22 |Are you sure you want to delete this user?
52 |Are you sure you want to save the changes?
157 |Job ID | 46 |Job name | 47 |Category | 48 |User | 49 |Available | 50 |Salary | 51 |Actions | 52 |
---|---|---|---|---|---|---|
{job._id} | 58 |{job.title} | 59 |{job.jobType.jobTypeName} | 60 |{job.user.firstName} | 61 |{job.available ? 'Yes' : 'No'} | 62 |${job.salary} | 63 |
64 |
65 |
68 |
69 |
74 |
75 |
76 |
77 | |
78 |
20 | Are you sure you want to delete this user? 21 |
22 |Are you sure you want to delete this user?
52 |User ID | 48 |E_mail | 49 |User status | 50 |Creation date | 51 |Actions | 52 |
---|---|---|---|---|
{user._id} | 58 |{user.email} | 59 |{user.role === 1 ? 'Admin' : 'Regular user'} | 60 |{moment(user.createdAt).format('YYYY-MM-DD HH:MM:SS')} | 61 |
62 |
63 |
66 |
67 |
72 |
73 |
74 | |
75 |
Personal Info
14 |{userInfo.user && userInfo.user.firstName}
18 |{userInfo.user && userInfo.user.middleName}
22 |{userInfo.user && userInfo.user.lastName}
26 |{userInfo.user && userInfo.user.email}
30 |{userInfo.user && userInfo.user.contact}
34 |{userInfo.user && userInfo.user.gender}
38 |{userInfo.user && userInfo.user.state}
42 |{userInfo.user && userInfo.user.city}
46 |{userInfo.user && userInfo.user.dateOfBirth.slice(0, 10)}
50 |{userInfo.user && (userInfo.user.role === 0 ? 'Regular user' : 'Admin')}
54 |{location}
11 |13 | Description: {description} 14 |
15 |{salary}$
18 |/month
19 |