Enhancing connections between students and employers.
Read Article »
·
Themes
·
Blog
·
Features
·
Future Improvement
CareerMatch is a mobile application designed to streamline the career fair process for universities. This innovative system serves three main user types: students, employers, and administrators.
The primary goals of this project are to address key issues in traditional career fair management:
- Inefficient event and company selection processes
- Limited digital networking and information exchange capabilities
- User Authentication and Registration with role-based access (student, employer, admin)
- Event Creation and Management
- QR Code Generation and Scanning feature
- Digital Card Identity for efficient information exchange
- AI Resume Builder and Smart Resume Screening using GenAI
- Cloud Documentation for company brochures and online resume submission
- Questionnaire System for event feedback
- CSV Exportation for event questionnaires and submitted resumes
- Interview System (CRM-like) for application tracking and scheduling
- Node.js
- Python 3.8+
- Expo CLI
- A Firebase account
-
Ensure you have Node.js installed on your system.
-
Install Expo CLI globally:
npm install -g expo-cli
-
Clone the repository:
git clone https://github.com/wenxuangithub/CareerMatch.git
-
Navigate to the project directory:
cd careermatch
-
Install dependencies:
npm install
-
Set up Firebase:
- Create a new Firebase project
- Add a web app to your Firebase project
- Copy the Firebase configuration
- Create a
.env
file in the root directory and add your Firebase config
-
Ensure you have Python 3.8+ installed on your system.
-
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- On Windows:
venv\Scripts\activate
- On macOS and Linux:
source venv/bin/activate
- On Windows:
-
Install requirements:
pip install -r requirements.txt
-
Start the Flask backend:
python app.py
-
In a new terminal, start the Expo development server:
expo start
If you're facing issues with 127.0.0.1 for external iOS/Android local connectivity, try one of these solutions:
-
Set the React Native Packager hostname:
$Env:REACT_NATIVE_PACKAGER_HOSTNAME="Your IP address"
-
Use your own laptop's hotspot to connect your phone.
-
If neither method works, use an ngrok tunnel by adding
--tunnel
when launching Expo:expo start --tunnel
If you're unable to launch the virtual environment due to network firewall issues, follow these steps:
- Open Command Prompt
- Execute the following command:
Alternatively, use your preferred method to adjust execution policies.
set-executionpolicy remotesigned
Continuous updating to match with future technology are essentials. Therefore I am committed to continually enhancing CareerMatch.
Here are some areas I am exploring for future development:
-
Scalability
- Implement load balancing to handle increased user traffic
- Optimize database queries for faster response times
- Consider microservices architecture for improved modularity and scalability
-
Enhanced Security
- Implement better encryption methods for sensitive data
- Introduce two-factor authentication for user accounts
-
Advanced AI Features
- Improve resume screening algorithms with machine learning
- Implement AI-driven matchmaking between students and employers
-
Cross-platform Compatibility
- Extend support to web browsers for broader accessibility
-
Integration Capabilities
- Develop APIs for integration with university management systems
- Enable synchronization with popular calendar applications
-
Enhanced Analytics
- Implement advanced analytics dashboard for event organizers
- Provide personalized insights for students and employers
-
Offline Functionality
- Implement offline mode for basic app functionality without internet connection
- Ensure data synchronization when connection is restored
Code released under the MIT License.