Skip to content

Requirements

burcukilic edited this page Oct 7, 2025 · 22 revisions

Job Listing Platform: Requirements Document

Platform Summary

The Job Listing Platform is designed to connect job seekers with ethical companies that prioritize fair labor practices. It ensures transparency in employment opportunities by allowing companies to post job openings aligned with ethical work policies.

To support career development, the platform provides a resume review system and mentorship programs, helping users refine applications, improve resume writing, and enhance interview skills.

A networking forum allows job seekers and professionals to engage in discussions and share experiences. The system also includes job search filters based on ethical work policies, ensuring users can find opportunities that align with their values.

By integrating these features, the platform empowers individuals to build their careers while promoting fair employment practices.


Glossary

  • User: All individuals using the platform.
  • Guest User: An individual visiting the platform without any registration.
  • Job Seeker: An individual using the platform to search for job opportunities, apply to job postings, and engage in career development resources such as resume reviews and mentorship.
  • Employer: A company or individual responsible for posting job listings, reviewing applications, and interacting with job seekers through the platform.
  • Ethical Work Policies: A set of predefined principles that companies must comply with to post job listings on the platform. These may include fair wages, diversity and inclusion policies, employee well-being programs, and sustainability commitments.
  • Job Posting: A listing created by an employer that includes job details such as title, description, ethical policy compliance, salary range, and contact information.
  • Application: A submission made by a job seeker in response to a job posting, which can be accepted or rejected by an employer.
  • Mentor: A user who volunteers to provide resume feedback and career guidance to job seekers through the platform.
  • Mentorship Request: A request sent by a job seeker to a mentor seeking guidance, which can be accepted or declined by the mentor.
  • Resume Review: A process where mentors evaluate and provide feedback on job seekers’ resumes to improve their quality and effectiveness.
  • Mentorship Screen: A dedicated interface within the platform displaying available mentors and enabling users to request mentorship.
  • Networking Forum: A discussion space where users can create and engage in conversations about career-related topics using predefined or custom tags.
  • Discussion Thread: A topic created by a user in the networking forum, allowing others to comment and share insights.
  • Workplace Review: A review submitted by an employee about their workplace, including ratings and written comments, which can be posted anonymously.
  • Company Profile: A public page for an employer, displaying job postings, ethical compliance details, and aggregated workplace ratings.
  • User Profile: A personalized space for users, displaying their activity history, past workplaces, mentorship status, and forum contributions.

Project Requirements

1. Functional Requirements

1.1 User Requirements

1.1.1 Registration and Login

  • 1.1.1.1 Guest users shall be able to register the system by providing username, email address, and password.
  • 1.1.1.2 Guest users should be able to provide optional gender/pronoun information.
  • 1.1.1.3 Guest users shall verify their email address via confirmation email in the last step of the registration process.
  • 1.1.1.4 Registered users shall be able to log in to the system by providing username and password.
  • 1.1.1.5 Registered users shall be able to log out from the system.
  • 1.1.1.6 Registered users should be able to reset their password by providing their username, after which a password reset link will be sent to their verified email address.
  • 1.1.1.7 Registered users shall be able to delete their accounts.

1.1.2 User Profiles

  • 1.1.2.1 Registered users shall be able to create their user profiles by providing personal details, including a biography, profile picture, education history, professional skills, interests, and past work experiences.
  • 1.1.2.2 Registered users should be able to put/add a profile picture.
  • 1.1.2.3 Registered users shall be able to list/update their past work experiences on their profile page.
  • 1.1.2.4 Registered users shall be able to edit their profile.
  • 1.1.2.5 Registered users’ profiles shall include an indicator showing the number of messages they have posted in the forum.
  • 1.1.2.6 Registered users shall be able to earn badges based on their activity in the application.
    • 1.1.2.6.1 These badges shall be displayed on their profiles for everyone to see.

1.1.3 Job Postings and Applications

  • 1.1.3.1 Employers shall be able to create job posts by providing a title and description.
  • 1.1.3.2 Job posts shall include ethical policy compliance information, selected from a predefined list.
  • 1.1.3.3 Employers shall be required to provide contact information in job posts.
  • 1.1.3.4 Employers shall be able to include a salary range in job posts.
  • 1.1.3.5 Employees shall be able to filter job searches based on ethical work policies.
  • 1.1.3.6 Employees shall be able to apply for job postings.
    • 1.1.3.6.1 Job seekers shall be able to optionally indicate disabilities or special needs during the application process.
  • 1.1.3.7 Employers shall be able to approve applications.
    • 1.1.3.7.1 Employers shall be able to provide optional feedback when accepting an application.
  • 1.1.3.8 Employers shall be able to reject applications.
    • 1.1.3.8.1 Employers shall be able to provide optional feedback when rejecting an application.
  • 1.1.3.9 Employers shall be able to mark job postings as inclusive opportunities targeted toward candidates with disabilities.

1.1.4 Workplace Experiences

  • 1.1.4.1 Employees shall be able to post workplace reviews.
  • 1.1.4.2 Employees shall be able to post anonymous workplace reviews.
  • 1.1.4.3 Workplace reviews shall include written comments and ratings.
  • 1.1.4.4 Comments and the average rating calculated from workplace reviews shall be displayed on the company's profile page.

1.1.5 Resume Review and Feedback

  • 1.1.5.1 Mentor profiles shall display their average rating, comments and the number of reviews they have provided.
  • 1.1.5.2 Mentors shall be able to choose how many people they want to mentor.
  • 1.1.5.3 Mentors shall be notified via in-app notifications when they receive a resume review request.
  • 1.1.5.4 Mentors shall be able to accept or decline resume review requests.
  • 1.1.5.5 Once a Mentor accepts a review request, a direct messaging channel shall be opened between the Mentor and Job Seeker for that specific review.
  • 1.1.5.6 The direct messaging channel shall remain open until the review process is completed or closed by either party.
  • 1.1.5.7 Users shall be able to see how many people a mentor is mentoring and their capacity on the Mentorship screen.
  • 1.1.5.8 Users shall be able to send a mentorship request to an available mentor they select on the Mentorship screen.
  • 1.1.5.9 Users shall be able to rate and comment on the mentor from whom they received mentorship services.

1.1.6 Networking Forum

  • 1.1.6.1 Users shall be able to create discussion threads with predefined or custom tags.
  • 1.1.6.2 Users shall be able to comment on discussion threads.
  • 1.1.6.3 Users shall be able to edit their own content in the forum.
  • 1.1.6.4 Users shall be able to delete their own content in the forum.
  • 1.1.6.6 Users shall be able to like forum comments.
  • 1.1.6.7 Users shall be able to dislike forum comments.

1.1.7 Moderation

  • 1.1.7.1 The admin shall review the reported user and either ban or suspend them.
  • 1.1.7.2 The admin shall delete posts or messages on the forum.
  • 1.1.7.3 Users shall be able to report inappropriate behavior or content via a report button.
  • 1.1.7.4 Reported content shall be reviewed by admins or moderators, who can take actions (approve, remove, ban user).
  • 1.1.7.5 Banned users shall be prevented from logging into the System.
  • 1.1.7.6 Banned users shall be visibly marked in forum discussions.

1.2 System Requirements

1.2.1 Authentication and Security

  • 1.2.1.1 The system shall encrypt all user credentials using a secure hashing.
  • 1.2.1.2 The system shall implement role-based access control for different user types.
  • 1.2.1.3 The system shall provide an account deletion process that removes user data in compliance with GDPR/KVKK.
  • 1.2.1.4 The system shall implement two-factor authentication (2FA) for user accounts.

1.2.2 Job Posting & Application

  • 1.2.2.1 The system shall provide a structured database for storing job postings.
  • 1.2.2.2 The system shall support filtering job searches based on ethical work policies.
  • 1.2.2.3 The system shall enforce that only registered employers can create job postings.
  • 1.2.2.4 The system shall be able to redirect users securely to external job application links (if provided by the employer).
  • 1.2.2.5 The system shall store application statuses (Pending, Approved, Rejected).
  • 1.2.2.6 The system shall allow employers to provide optional feedback on applications.

1.2.3 Resume Review & Mentorship

  • 1.2.3.1 The system shall log mentor ratings and comments for future reference.
  • 1.2.3.2 The system shall provide a direct messaging channel between mentors and users for resume reviews.

1.2.4 Notification System

  • 1.2.4.1 The system shall generate in-app notifications for mentorship requests, job applications, and forum interactions.
  • 1.2.4.2 The system shall notify mentors when they receive a new resume review request.
  • 1.2.4.3 The system shall notify mentees when their mentorship application status changes (Pending → Approved/Rejected).
  • 1.2.4.4 The system shall notify employers when they receive a new job application.
  • 1.2.4.5 The system shall notify employees when their job application status changes (Pending → Approved/Rejected), including optional feedback from employers.
  • 1.2.4.6 The system shall notify users when they receive comments, replies, or reports related to their forum posts or threads.
  • 1.2.4.7 The system shall notify users when they are awarded a badge (e.g., activity-based, top-rated mentor, top-rated company).
  • 1.2.4.8 Notifications shall be accessible through a centralized notification center within the application, with real-time updates.
  • 1.2.4.9 Notifications shall be stored persistently in the backend to ensure users can review past notifications.
  • 1.2.4.10 Users shall be able to mark notifications as read/unread and clear them individually or in bulk.

1.2.5 Forum Management

  • 1.2.5.1 The system shall provide moderation tools for managing forum content.
  • 1.2.5.2 The system shall log and queue reported content for administrative review.
  • 1.2.5.3 The system shall allow tracking of user nationality to ensure diversity in participation metrics.
  • 1.2.5.4 The system shall enforce a rate limit on posting in the forum, such that a user can only submit a five number of posts per thread within an hour.

1.2.6 Activity Stream

  • 1.2.6.1 The system shall record user activity history (Activity Streams 2.0 compliant).
  • 1.2.6.2 The following activities shall be logged:
    • User registration and profile updates.
    • Job posting creation, application submission, approval, and rejection.
    • Workplace review submission.
    • Mentorship request, acceptance, and completion.
    • Forum thread creation, comments, upvotes, downvotes, edits, and deletions.
  • 1.2.6.3 Activity records shall be available via backend API for displaying a user’s activity history.

1.2.7 Community Dashboard

  • 1.2.7.1 The system shall provide a public dashboard page visible to all users.
  • 1.2.7.2 The dashboard shall display counters: Total Users, Total Job Posts, Total Accepted Applications, Total Forum Posts, Current mentorships number.
  • 1.2.7.3 The dashboard shall show aggregated counts only (no user-level or personal data).
  • 1.2.7.4 The dashboard shall be updated at least once per day.

2. Non-Functional Requirements

2.1 Performance Requirements

  • 2.1.1 The system shall support up to 500 concurrent users without performance degradation.
  • 2.1.2 Job search results shall be retrieved within 3 seconds under normal load conditions.
  • 2.1.3 Job applications (excluding external links) shall be processed and displayed within 3 seconds after submission.
  • 2.1.4 The networking forum shall handle up to 50 new posts per hour without affecting system response time.
  • 2.1.5 Resume reviews and mentorship requests shall be processed within 3 seconds after submission.

2.2 Security and Privacy

  • 2.2.1 User data, including password, shall be encrypted in transit and at rest.
  • 2.2.2 The system shall comply with GDPR and KVKK regulations for data protection and user privacy.
  • 2.2.3 The system shall log all security-related activities, including failed login attempts, account modifications, and reports of inappropriate content for auditing purposes.
  • 2.2.4 Users shall be required to give explicit consent before submitting job applications via a consent form.
  • 2.2.5 The system shall allow workplace reviews to be submitted anonymously.

2.3 Safety

  • 2.3.1 All critical user data shall be securely backed up daily, with incremental backups every 6 hours.
  • 2.3.2 The system shall implement failure recovery mechanism, ensuring service restoration within 15 minutes in case of a crash.

2.4 Quality

2.4.1 Availability

  • 2.4.1.1 The system shall maintain 99% uptime, with scheduled maintenance occurring during non-peak hours.

2.4.2 Maintainability

  • 2.4.2.1 The system shall follow a modular architecture, allowing independent updates while minimizing downtime.

2.4.3 Compatibility

  • 2.4.3.1 The system shall be accessible on both mobile devices (Android) and desktop browsers (cross-browser compatibility).

2.4.4 Reusability

  • 2.4.4.1 The software components shall be designed for reusability, ensuring efficient development of future features without code duplication.

2.4.5 Robustness

  • 2.4.5.1 The system shall handle unexpected errors gracefully, ensuring that failures do not cause data loss or system crashes. Logging and exception handling mechanisms shall be implemented.

2.5 Accessibility

  • 2.5.1 The system shall provide text alternatives for all non-text content.
  • 2.5.2 The system shall support at least Turkish and English languages, allowing users to switch between them.
  • 2.5.3 The system shall support additional languages including right-to-left (RTL) scripts such as Arabic.
  • 2.5.4 The system shall display dates, numbers, and currencies in a locale-appropriate format.
  • 2.5.6 The user interface shall be designed following accessibility guidelines.
  • 2.5.7 The system shall ensure sufficient color contrast and scalable text.
  • 2.5.8 The system shall support full keyboard navigation.
  • 2.5.9 The system shall follow consistent and predictable navigation patterns.
  • 2.5.10 The system shall provide dark/light theme options for the UI.

📚 Navigation

📄 Overview

📁 Project Documents

📦 Milestone Reports

📘 User Scenarios

Click to expand

🧩 UML Diagrams

🧑‍🤝‍🧑 Personal Folders

Yağız Kaan Aydoğdu
Gökberk Yavuz
Burcu Kılıç
Burak Tigin
Enver Eren
Hande Karabul
İsmail Tarık Erkan
Ömer Faruk Koramaz
Asaf Kanlıpıçak
Mehmet Batuhan Çok
Sezer Cot

📅 Meeting Notes

📝 Lab Reports

  1. Lab 1
  2. Lab 2
  3. Lab 3
  4. Lab 4
  5. Lab 5
  6. Lab 6
  7. Lab 7
  8. Lab 8

💬 Communication

🗂 Archive

Clone this wiki locally