DEV Community

Mert izgahi
Mert izgahi

Posted on

1

Join To My Journey to learn building full stack web application

Image description

I decided to share my experience in building web applications by building a full stack web app I called it Job Board, Job board is a MERN Stack application with multi roles and features.

At the starting point, I created a repository on GitLab and wrote an overview of the app, including the roles and workflows. This overview is based on my initial perspective, which may change later. However, the important thing for me is to keep everything documented.

Project Repository
Youtube Playlist

Job Board

A MERN Stack Job Board app. allow users to post jobs and apply to them.

Teck Stack

  • React
  • Redux
  • React Router
  • React Hook Form
  • Tailwind CSS
  • Shadecn Tailwind
  • Zod
  • Express
  • Mongoose
  • Cloudinary
  • JWT
  • Bcrypt
  • Nodemailer
  • Typescript
  • Vite
  • Node

Features

  • Post jobs
  • Apply to jobs
  • Search jobs
  • Pagination
  • Filter jobs
  • Sort jobs
  • Manage applications
  • Manage jobs
  • Manage resumes
  • Manage interviews
  • Manage notifications

Application Flow

User As Employer

  • Register - Or - Login
  • Account
    • Update Profile
    • Change Password
  • Company Settings

    • Setup Company Profile
    • Update Company Profile
  • Dashboard

    • Manage Jobs
    • Create Job
    • Update Job
    • Delete Job
    • Reactivate Job
    • Archive Job
    • Unarchive Job
    • Filter Jobs
    • Sort Jobs
    • Search Jobs
    • Manage Applications
    • View Applications
    • Accept Application
    • Reject Application
    • Manage Interviews
    • Create Interview
    • Update Interview
    • Delete Interview
    • Manage Notifications
    • View Notifications
    • Mark Notification as Read
    • Delete Notification
    • Logout

User As Candidate

  • Register - Or - Login

  • Account

    • Update Profile
    • Change Password
  • Root

    • Jobs
    • View Job
    • Apply to Job
    • Filter Jobs
    • Sort Jobs
    • Search Jobs
  • Applications

  • View Application

  • Create Application

  • Update Application

  • Delete Application

  • Interviews

    • View Interview
    • Approve Interview
  • Notifications

    • View Notification
    • Mark Notification as Read
    • Delete Notification
  • Resume

    • Upload Resume
    • Delete Resume
    • Select Active Resume
  • Logout

User As Candidate

Database

  • MongoDB
  • Mongoose

Models

  • Job

    • id
    • title
    • description
    • level (Senior, Junior, Intern)
    • applicationMethod (email,external,linkedin,jobboard)
    • location (JobType -> Remote, Hybrid, Onsite)
    • applicationLink?
    • applicationDeadline
    • category
    • salary
    • requirements
    • responsibilities
    • showSalary
    • status (Active, Archived)
    • created_at
    • updated_at
  • Company

    • id
    • name
    • description
    • website
    • linkedin
    • logo
    • city
    • state
    • country
    • cover
    • size
    • location
    • created_at
    • updated_at
  • User

    • id
    • name
    • email
    • password
    • role (Candidate, Employer, Admin)
    • company?
    • linkedIn
    • github?
    • dribble?
    • activeResume?
    • cover?
    • imageUrl?
    • created_at
    • updated_at
  • Resume

    • id
    • userId
    • resumeUrl
    • created_at
    • updated_at
  • Application

    • id
    • jobId
    • userId
    • status (Pending, Accepted, Rejected)
    • resume
    • message
    • created_at
    • updated_at
  • Interview

    • id
    • jobId
    • userId
    • type (Virtual, InPerson)
    • googleMeetLink
    • status (Pending, Approved)
    • created_at
    • updated_at
  • Notification

    • id
    • userId
    • message
    • created_at
    • updated_at

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay