Find Your Dream Job with JobLook
JobLook is a comprehensive mobile job search application built using Flutter for the frontend and Node.js for the backend. It connects job seekers with employers, allowing users to search, apply, and bookmark jobs, while agents (recruiters) can post, edit, and manage job listings.
- 🔐 User Authentication: Secure login/signup with profile management
- 🔎 Job Search: Filter and explore jobs based on category, location, and keywords
- 📌 Bookmark System: Save interesting jobs for future reference
- 👥 Dual Role System: Separate permissions for users and agents
- 📝 Job Management: Agents can post, edit, and delete job listings
- 👨💼 Profile Management: Update your personal info and professional skills
- 📱 Responsive UI: Clean, modern design optimized for all screen sizes
![]() Login Screen |
![]() Home Screen |
![]() Job Details |
![]() Profile Screen |
![]() Bookmarks Screen |
![]() Search Results |
![]() Upload Job Screen |
![]() Skills Management |
![]() Onboarding Screen |
| Layer | Technology |
|---|---|
| Frontend | Flutter (Dart) |
| Backend | Node.js, Express |
| Database | MongoDB |
| Storage | Firebase Storage (images) |
| Auth | JWT (JSON Web Token) |
| State Mgmt | Provider Pattern (Flutter) |
- Flutter SDK (>= 3.7.2)
- Dart SDK (>= 3.7.2)
- Node.js (>= 14.x)
- MongoDB (running locally or cloud-based)
- Firebase account (for image storage)
# Clone the repository
git clone https://github.com/yourusername/job_look.git
cd job_look
# Install dependencies
flutter pub get
# Configure environment variables
# Create a `.env` file and set your API base URL and Firebase credentials
# Run the app
flutter run# Navigate to server folder
cd server
# Install backend dependencies
npm install
# Configure environment variables
# Create a `.env` file with:
# - MONGODB_URI
# - JWT_SECRET
# - Firebase credentials
# Start the server
npm startjob_look/
🔽 lib/
│ 🔽 constants/ # App-wide constants and configurations
│ 🔽 controllers/ # State management controllers
│ 🔽 models/
│ │ 🔽 request/ # Request model classes
│ │ └️ response/ # Response model classes
│ 🔽 services/
│ │ └️ helpers/ # Helper functions and utilities
│ 🔽 views/
│ 🔽 auth/ # Authentication-related UI
│ 🔽 bookmarks/ # Bookmark UI
│ 🔽 common/ # Reusable components (buttons, cards, etc.)
│ └️ screens/ # Main app screens
🔽 server/ # Node.js backend
│ 🔽 controllers/ # API route handlers
│ 🔽 middleware/ # JWT and auth middleware
│ └️ models/ # Mongoose DB schemas
🔽 assets/ # App assets (icons, images)
- JWT Authentication: Secure user sessions and role handling
- Role-Based Access: Access control for agents and regular users
- Firebase Storage: Profile and company logos/image uploads
- Provider Pattern: Centralized state management
- flutter_screenutil: For pixel-perfect responsiveness on all devices
Contributions are welcome and appreciated!
- Fork the project
- Create your feature branch:
git checkout -b feature/AmazingFeature - Commit your changes:
git commit -m 'Add some AmazingFeature' - Push to the branch:
git push origin feature/AmazingFeature - Open a Pull Request ✅
This project is licensed under the MIT License – see the LICENSE file for details.
Your Name - @ashishexee - ashish@me.iitr.ac.in
Project Link: https://github.com/ashishexee/JobLook
Built with ❤️ using Flutter and Node.js








