This project is a front-end development task for a careers webpage. The goal is to develop a responsive and user-friendly interface for job openings, a login page, and a candidate profile page. The project uses a variety of modern web technologies to ensure optimal performance and usability.
- Job Openings Page: Displays a list of current job openings.
- Login Page: Simple login form for candidates.
- Candidate Profile Page: Form to collect candidate information (Email, First Name, Last Name, Resume in PDF format, Cover Letter in PDF format, Phone number).
- Responsive Design: Ensures the webpage is fully responsive and mobile-friendly.
- User Authentication: Allows candidates to apply for jobs only after logging in.
- Front-End:
- React.js (server side rendring)
- Reactstrap (Bootstrap components for React)
- Back-End:
- Node.js
- Express.js
- JSON Web Token for authentication
- Bcrypt for password hashing
- Build and Development Tools:
- ESLint for code linting
- Prettier for code formatting
- esbuild for fast bundling and compiling
src/
: Contains the source code for the front-end and back-end.dist/
: Contains the bundled and compiled code.build.js
: Script for building the project.server.cjs
: Entry point for the backend server.
-
Clone the repository:
git clone https://github.com/yourusername/career.git cd career
-
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
format
: Runs Prettier to format the code.npm run format
-
lint
: Runs ESLint to fix and check for errors.npm run lint
-
build
: Compiles the React code and bundles it.npm run build
-
start
: Starts the backend server.npm run start
-
dev
: Runs the build and starts the server in parallel.npm run dev
This project is licensed under the MIT License. See the LICENSE file for details.
Mohamed Tharwat