π’ Jobless & Found
π Project Overview
Jobless & Found is a web application project developed for the Epitech Nancy Web course. The project aims to create an online job board website similar to platforms like Welcome to the Jungle or LinkedIn. It leverages C# for the backend and React with TypeScript for the frontend, integrating a MySQL database to store all job-related data.
π Table of Contents
π Technologies Used
- Backend: C# with Entity Framework and MySQL
- Frontend: React (TypeScript)
- Database Management: MySQL (Workbench)
- API Documentation: Swagger + RESTful API
- Authentication: Email, Password (hashed), Session Cookies, Websockets
π Project Features
- Job Advertisements: Create, view, and manage job advertisements.
- User Management: Handle users (applicants and companies) and their details.
- Application Management: Track job applications, send emails, and record interactions.
- Admin Panel: A dedicated admin page to perform CRUD operations on all tables.
- Authentication: Secure user login and session management.
π Database Design
The project uses MySQL to store information with the following tables:
- Several Table types that globally encapsulate the following:
- Companies Tables: Stores company information such as name, location, and size.
- User Tables: Stores user data, including applicants and HR personnel.
- Job Application Tables: Tracks emails, messages, and applications.
π Application Pages and Functionality
- Home Page: Displays a scrollable feed of job postings (LinkedIn-like view).
- Job Details Page: Shows detailed job information when clicking "Learn More".
- Application Form: Opens a form to enter user info (name, email, phone) and send messages to the ad owner.
- Admin Panel: Lists all database records with options to create, update, or delete entries.
π API and Authentication
The API provides CRUD operations for managing the database and supports secure access using:
- RESTful Routes: For fetching and managing job ads and user data.
- Authentication: User login and registration with hashed passwords and session cookies (Jwt keys).
- Authorization: Only admin users can access the admin panel.
π Step-by-Step Guide
-
Step 01: Create the SQL database with tables for advertisements, companies, people, and job applications.
-
Step 02: Develop a basic HTML/CSS page to display job advertisements with "Learn More" buttons.
-
Step 03: Implement "Learn More" button functionality to show job details dynamically.
-
Step 04: Create a REST API with CRUD operations to interact with the database.
-
Step 05: Add an "Apply" button for each ad that opens a form to enter user details and send messages.
-
Step 06: Integrate an authentication mechanism for secure login and session handling.
-
Step 07: Build an admin page for monitoring and managing the database with pagination support.
-
Step 08: Polish the front-end pages, refine styles, and enhance the UI/UX.
-
π Job Market Insights: