A web application that allows students to upload their resumes for review by alumni, who can then provide detailed feedback to help students improve their resumes.
In today's competitive job market, having a well-crafted resume is crucial. Resume Reviewer aims to bridge the gap between students and alumni by providing a platform where experienced professionals can review and provide valuable feedback on student resumes. This not only helps students enhance their resumes but also fosters a collaborative community.
Category | Technology |
---|---|
Frontend | React HTML5 CSS3 Dropzone |
Backend | Node.js Express.js SQLite |
Authentication | JWT bcrypt |
Deployment | Local environment (Node.js) |
- Designed a user-friendly interface with React, including components for student and alumni dashboards.
- Implemented Dropzone for seamless resume upload functionality.
- Managed state and side-effects in React using hooks (
useState
,useEffect
). - Implemented role-based access control to ensure secure and appropriate access to different parts of the application.
- Utilized JWT for secure authentication.
- Applied bcrypt for secure password hashing and storage.
- Implemented basic unit tests to ensure functionality of critical components and services (using Jest).
- Included comprehensive input validation and error handling both on the client-side and server-side.
- Ensured meaningful error messages and feedback are provided to users.
- Integrated frontend and backend seamlessly with clear and secure API endpoints.
- Handled file uploads and database interactions efficiently.
- User Registration: Handles registration for both students and alumni, including additional details for each role.
- User Login: Authenticates users and provides a JWT token.
- Resume Upload: Allows students to upload their resumes.
- Feedback Submission: Enables alumni to submit feedback for student resumes.
- Feedback Retrieval: Allows students to view feedback received on their resumes.
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/uvaishnav/resume-reviewer.git cd resume-reviewer
-
Install backend dependencies: (in a new terminal)
cd backend npm install
-
Run the backend server:
node server.js
-
Install frontend dependencies: (in the first terminal)
npm install
-
Run the frontend server:
npm start
-
Access the application: Open your browser and go to http://localhost:3000.
- Improve the overall design and responsiveness of the application.
- Add user notifications for various actions (e.g., resume upload success, feedback received).
- Implement OAuth for social login options.
- Add rate limiting and account lockout mechanisms to prevent brute force attacks.
- Migrate from SQLite to a more robust database solution like PostgreSQL or MongoDB.
- Deploy the application on cloud platforms like AWS, Azure, or Heroku.
- Implement a search and filter functionality for resumes and feedback.
- Add the ability for alumni to rate resumes or provide additional resources for improvement.
- Expand unit tests and add integration tests to cover more components and edge cases.
- Set up continuous integration and continuous deployment (CI/CD) pipelines.
By following this README, you can understand the motivation behind the project, the technology stack used, implementation highlights, how to run the project locally, and potential areas for further improvement.