- Developed a comprehensive job tracking web app with user authentication via JWT tokens and HTTP-only cookies. Utilized React Query for efficient data caching and included pagination for seamless navigation. Implemented a RESTful API for backend communication.
- Enabled user account management, including profile picture upload, job modification, and sorting functions. Implemented data visualization with interactive charts. Deployed securely on Render for cloud-based access.
- Technologies Used: MongoDB, Express.js, React.js, Node.js, Vite, Render
-
Clone the repository
git clone https://github.com/Rashed112/Jobify-MERN-Project.git
-
Install dependencies
cd jobify npm run setup-production-app -
Set up environment variables: To run the application locally or deploy it elsewhere, you need to set up the following environment variables in a
.envfile at the root of the project. Here's how to fill in each variable:NODE_ENV: Set the environment to eitherdevelopmentorproduction.PORT: Define the port number on which the server will run. Here default is5100.MONGO_URL: Provide the connection string to your MongoDB database. Replace<username>,<password>, and<dbname>with your MongoDB credentials.JWT_SECRET: Choose a secret key for JSON Web Token (JWT) encryption.JWT_EXPIRES_IN: Set the expiration time for JWT tokens.CLOUD_NAME: Your cloud storage provider's name (e.g., Cloudinary).CLOUD_API_KEY: Your cloud storage API key.CLOUD_API_SECRET: Your cloud storage API secret.
Here's an example
.envfile:NODE_ENV=development PORT=5100 MONGO_URL=mongodb+srv://<username>:<password>@cluster0.a3mftk7.mongodb.net/<dbname>?retryWrites=true&w=majority&appName=Cluster0 JWT_SECRET=your_secret_key JWT_EXPIRES_IN=1d CLOUD_NAME=your_cloud_name CLOUD_API_KEY=your_cloud_api_key CLOUD_API_SECRET=your_cloud_api_secret -
Run the application:
node server
-
Access the application in your browser at
http://localhost:5100.
To learn more about the technologies used and the project, I'll be glad to share the following course which was instructed by John Smilga amazingly and was a great help to me: