Tech professionals and students face challenges in staying up-to-date with relevant opportunities and industry updates. Information is scattered across multiple websites, requiring time-consuming searches and leading to missed chances for career advancement and growth.
KareerNest aims to create a centralized platform that aggregates and seamlessly presents tech opportunities, news, and resources, enabling users to efficiently discover and pursue valuable prospects within a single interface.
- Input: User provides email, username, and password.
- Output: Verification OTP is sent to the registered email for account activation.
- Input: User enters the OTP received via email.
- Output: Success message is displayed upon successful verification.
- Input: User requests to resend the verification OTP.
- Output: Another OTP is sent to the registered email.
- Input: User provides valid credentials to log in.
- Output: User gains access to authenticated features.
- Input: User clicks on logout button given on the navbar.
- Output: User gets logged out from the webpage.
- Input: User clicks on "Don't have an account?".
- Output: Page navigates to signup page.
- Input: User clicks on "Already have an account?".
- Output: Page navigates to login page.
- Input: Admin user creates jobs with job details.
- Output: Jobs are added to the database.
- Input: Admin user edits existing job details.
- Output: Updated job listing is reflected in the database.
- Input: Admin user selects a job listing to delete.
- Output: Confirmation message is displayed before deletion.
- Input: User requests for jobs list.
- Output: All the available jobs are displayed.
- Input: User requests jobs from Jsearch API.
- Process: Jsearch API fetched jobs from internet and jobs are stored in the database.
- Output: API is called and all the available jobs are displayed from the database.
- Input: User visits the tech updates section.
- Output: Latest news articles related to the job market are fetched from external sources and displayed.
- Input: User loads the home page.
- Output: Latest news articles related to the job market are fetched from external sources and displayed in carousel slider format.
- Input: User visits the blogs section.
- Output: Tech blogs related to the job market are displayed.
- Input: User visits the about us section.
- Output: All the details related to kareernest is displayed like support us and advertise with us.
- Performance
- Requirement: The application should have low latency when fetching job listings and news updates.
- Metric: Response time for fetching data should be less than 1 second on average.
- Security
- Requirement: User passwords should be securely hashed and stored in the database.
- Metric: Passwords are hashed using bcrypt with a cost factor of 10.
- Usability
- Requirement: The user interface should be intuitive and easy to navigate.
- Reliability
- Requirement: The application should be highly available with minimal downtime.
Kareernest follows the Model-View-Controller (MVC) architectural pattern to separate concerns and maintain a modular structure.
- Model: Represents the data layer of the application. It includes MongoDB schemas for users and job listings.
- View: Represents the presentation layer of the application. It includes React components for the user interface.
- Controller: Represents the logic layer of the application. It includes Express.js routes and controllers for handling HTTP requests and business logic.
1. Frontend Development:
- React.js
- React Router
- React Hooks
- Tailwind CSS
- Axios
2. Backend Development:
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT (JSON Web Tokens)
3. Collaboration and Version Control:
- Git
- GitHub
4. Testing:
- Postman
5. Deployment and Hosting:
- AWS (Amazon Web Services)
