A web application connecting students with part-time and internship opportunities across various domains. Built with React.js and Firebase, it supports real-time job listings, secure authentication, messaging, and dynamic job filters.
Live Demo: https://pocket-money-web.vercel.app/
GitHub Repository: https://github.com/DhirajKarangale/PocketMoneyWeb
Pocket Money helps students discover and apply for part-time jobs and internships with ease. The platform allows job providers to post opportunities and students to apply, filter, and communicate with providers via email.
Key Highlights:
- Real-time job listings with Firebase Realtime Database
- Secure user authentication using Firebase Auth
- Seeker–provider messaging with SMTP.js
- Dynamic filters by role, location, and domain
- Responsive design for desktop and mobile
- Reusable and maintainable React component architecture
- 🔐 User Authentication: Firebase authentication for secure login/signup
- 📬 Messaging: Email-based communication between job seekers and providers
- 📄 Real-Time Listings: Jobs updated instantly with Firebase
- 🔎 Dynamic Filters: Filter jobs by role, domain, and location
- 📱 Responsive Design: Mobile-first UI/UX with clean layout
- ✅ Form Validation: Input checks for all forms
- 🔄 Route Navigation: Smooth page transitions via React Router
- ⚛️ Component Architecture: Reusable and maintainable React components
Frontend:
- React.js
- HTML5
- CSS3
Backend & Database:
- Firebase Authentication
- Firebase Realtime Database
Messaging:
- SMTP.js
/src
/components # Reusable UI components (JobCard, Navbar, etc.)
/pages # Home, Jobs, Login, Register, Dashboard, Profiles
/firebase # Firebase config
/services # SMTP.js and other services
/utils # Utility functions
App.tsx
index.tsx
/public
/Screenshots # Add.png, Dashboard.png, Home.png, JobProviderProfile.png, JobSeekerProfile.png, Login.png, Signup.png
git clone https://github.com/DhirajKarangale/PocketMoneyWeb.git
cd PocketMoneyWebnpm install- Create a Firebase project at Firebase Console
- Enable Authentication (Email/Password)
- Enable Firestore / Realtime Database
- Replace the Firebase config in
src/firebase/config.jswith your own:
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_AUTH_DOMAIN",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_STORAGE_BUCKET",
messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
appId: "YOUR_APP_ID",
measurementId: "YOUR_MEASUREMENT_ID"
};
⚠️ Note: The default config points to a demo Firebase project. Replace it with your own credentials as per your requirements.
npm startOpen http://localhost:3000 to view it in the browser.
| Home | Add Job |
|---|---|
| Dashboard | Job Provider Profile |
|---|---|
| Job Seeker Profile | Login |
|---|---|
| Signup |
|---|
- Add push notifications for new job postings
- Implement admin panel for job moderation
- Add real-time chat system for seekers and providers
- Improve analytics dashboard for job seekers/providers