|
Stop Searching. Start Applying. Verified job opportunities platform for freshers and students ๐ Website โข ๐ผ LinkedIn โข ๐ฆ Twitter โข ๐ฌ WhatsApp โข |
- About
- Key Features
- Tech Stack
- Getting Started
- Project Structure
- Available Scripts
- Platform Features
- Connect With Us
FresherFlow solves a critical problem: freshers waste 70% of their time filtering outdated listings and scams. We've built a modern, verified platform that streamlines the job search experience for college students and recent graduates.
โ
Zero Noise โ Every listing manually verified through our strict "Flow Protocol"
โ
Direct Access โ One-click redirection to official application portals
โ
Speed First โ Ultra-fast, distraction-free interface with 8pt grid design
โ
Smart Matching โ Eligibility filtering based on degree, graduation year, and skills
- Jobs, Internships & Walk-ins โ All opportunities in one unified feed
- Smart Filters โ Filter by location, company, role, eligibility criteria
- Closing Soon Alerts โ Visual badges for opportunities expiring within 72 hours
- Bookmark Manager โ Save and track opportunities you're interested in
- Offline Support โ Access bookmarked jobs even without internet
- Profile-Based Matching โ See only jobs you're eligible for based on your profile
- Passwordless Login โ Email OTP (Magic Links) for quick, secure access
- Google OAuth 2.0 โ One-click sign-in with your Google account
- Passkey Support โ Admin panel with WebAuthn and TOTP 2FA
- Admin Dashboard โ Dedicated interface for managing opportunities
- Quick Edit โ Edit job postings directly from the public feed
- Batch Operations โ Efficiently manage multiple listings
- Analytics โ Track user engagement and application metrics
- Installable โ Add to home screen for native app-like experience
- Responsive Design โ Optimized for mobile, tablet, and desktop
- Fast Loading โ Sub-100ms page transitions with optimized assets
- SEO Optimized โ Server-side rendering with Next.js for better discoverability
| Technology | Version | Purpose |
|---|---|---|
| Next.js | 16.1.5 | React framework with App Router & SSR |
| React | 19.2.3 | UI library with React Compiler |
| TypeScript | ^5.0 | Type safety across the entire codebase |
| Tailwind CSS | ^4.1 | Utility-first CSS framework (v4 alpha) |
| shadcn/ui | Latest | Accessible component library with Radix UI |
| Lucide Icons | ^0.563 | Modern icon library |
| Playwright | ^1.55 | E2E testing and smoke tests |
| Technology | Version | Purpose |
|---|---|---|
| Node.js | >=20.0.0 | JavaScript runtime |
| Express | ^4.21 | Web framework for REST API |
| Prisma | ^6.2 | Type-safe ORM with migrations |
| PostgreSQL | Latest | Production database (via Neon) |
| Redis | Optional | Caching layer with IORedis |
| JWT | ^9.0 | Stateless authentication with HttpOnly cookies |
| Zod | ^3.24 | Runtime schema validation |
| Winston | ^3.19 | Structured logging |
| Helmet | ^8.0 | Security middleware |
- TurboRepo โ Monorepo build system with caching
- Shared Packages โ
@fresherflow/types,@fresherflow/schemas,@fresherflow/constants - Vercel โ Frontend deployment with edge functions
- Render/Railway โ Backend API hosting
- Neon โ Serverless PostgreSQL with branching
- Node.js >= 20.0.0
- npm >= 9.0.0
- PostgreSQL database (local or Neon)
- Git
-
Clone the repository
git clone https://github.com/MukeshCheekatla/fresherflow.git cd fresherflow -
Install dependencies
npm install
-
Set up environment variables
Create
.envfiles in bothapps/apiandapps/web:apps/api/.envDATABASE_URL="postgresql://user:password@localhost:5432/fresherflow" JWT_SECRET="your-secret-key" GOOGLE_CLIENT_ID="your-google-client-id" GOOGLE_CLIENT_SECRET="your-google-client-secret" RESEND_API_KEY="your-resend-api-key" FRONTEND_URL="http://localhost:3000"
apps/web/.envNEXT_PUBLIC_API_URL="http://localhost:5000"
-
Initialize the database
npm run db:generate # Generate Prisma client npm run db:push # Push schema to database
-
Start development servers
npm run dev
This will start:
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:5000
- Frontend:
fresherflow/
โ
โโโ apps/
โ โโโ api/ # Backend API
โ โ โโโ src/
โ โ โ โโโ routes/ # API route handlers
โ โ โ โ โโโ auth.ts # Authentication routes
โ โ โ โ โโโ jobs.ts # Jobs CRUD
โ โ โ โ โโโ admin.ts # Admin panel routes
โ โ โ โ โโโ profile.ts # User profile management
โ โ โ โโโ middleware/ # Express middleware
โ โ โ โโโ services/ # Business logic layer
โ โ โ โโโ utils/ # Helper functions
โ โ โ โโโ index.ts # Server entry point
โ โ โโโ prisma/
โ โ โ โโโ schema.prisma # Database schema
โ โ โโโ package.json
โ โ
โ โโโ web/ # Frontend (Next.js)
โ โโโ src/
โ โ โโโ app/ # Next.js App Router
โ โ โ โโโ (account)/ # User account pages
โ โ โ โโโ (admin)/ # Admin panel pages
โ โ โ โโโ auth/ # Authentication pages
โ โ โ โโโ jobs/ # Job listings
โ โ โ โโโ internships/ # Internship listings
โ โ โ โโโ walk-ins/ # Walk-in drive listings
โ โ โ โโโ dashboard/ # User dashboard
โ โ โโโ components/ # React components
โ โ โ โโโ ui/ # shadcn/ui components
โ โ โ โโโ auth/ # Auth-related components
โ โ โ โโโ admin/ # Admin components
โ โ โโโ lib/ # Utilities and configs
โ โ โ โโโ api/ # API client functions
โ โ โ โโโ hooks/ # Custom React hooks
โ โ โ โโโ offline/ # PWA offline support
โ โ โโโ contexts/ # React Context providers
โ โโโ package.json
โ
โโโ packages/ # Shared packages
โ โโโ types/ # TypeScript type definitions
โ โโโ schemas/ # Zod validation schemas
โ โโโ constants/ # Shared constants
โ
โโโ docs/ # Documentation
โ โโโ DEPLOY.md # Deployment guide
โ โโโ automation.md # Automation workflows
โ โโโ privacy-policy.md # Legal documents
โ
โโโ turbo.json # TurboRepo configuration
โโโ package.json # Root package.json
โโโ README.md # This file
# Development
npm run dev # Start all apps in dev mode (kills ports first)
npm run dev:api # Start only backend API
npm run dev:web # Start only frontend
npm run dev:stack # Start API & Web with concurrently
# Build
npm run build # Build all apps
npm run build:api # Build backend only
npm run build:web # Build frontend only
# Database
npm run db:generate # Generate Prisma client
npm run db:push # Push schema changes to database
npm run db:studio # Open Prisma Studio GUI
# Utilities
npm run lint # Run linters for all workspaces
npm run typecheck # TypeScript type checking
npm run test # Run test suites
npm run clean # Clean node_modules and dist folders
# Port Management (Windows)
npm run kill:port # Kill process on port 5000
npm run kill:web-port # Kill process on port 3000
npm run kill:ports # Kill both API and Web ports-
Onboarding
- Sign up with Google or Email OTP
- Complete academic profile (degree, graduation year, skills)
- Set preferences for job types and locations
-
Discovery
- Browse verified jobs, internships, and walk-ins
- Use smart filters (location, company, role, eligibility)
- See "Closing Soon" badges for urgent opportunities
-
Tracking
- Bookmark interesting opportunities
- Track application status
- Access offline bookmarks
-
Application
- One-click redirect to official application portal
- Auto-fill assistance with saved profile data
-
Opportunity Management
- Create, edit, delete job/internship/walk-in listings
- Bulk upload capabilities
- Draft and publish workflow
-
User Management
- View registered users
- Manage verification status
-
Security
- Passkey authentication (WebAuthn)
- TOTP 2FA support
- Secure admin routes with role-based access
- Type Safety โ Full TypeScript coverage with strict mode
- API Design โ RESTful API with consistent error handling
- Validation โ Request/response validation with Zod schemas
- Caching โ Optional Redis integration for performance
- Monitoring โ Sentry integration for error tracking
- Rate Limiting โ Express rate limiter for API protection
- Security Headers โ Helmet.js for HTTP security
- CORS โ Configured for cross-origin requests
- Logging โ Structured logs with Winston
- ๐ง Email: support@fresherflow.in
- ๐ Website: fresherflow.in
- ๐ผ LinkedIn: FresherFlow Company Page
This project is licensed under the MIT License. See LICENSE for details.
Built with โค๏ธ for students navigating their career journey.
Engineering Philosophy: Modern, type-safe, and highly performant. Strict adherence to design systems, 48px minimum touch targets, and 8pt spacing grid.
Built with discipline. Optimized for students.
