DigiReps is a Next.js application that helps businesses connect with remote professionals across sales, customer support, marketing, design, and software development roles.
The platform includes marketing pages, role-specific hiring pages, user authentication, profile management, and CMS-driven content powered by Contentful.
- Responsive Next.js application using the App Router
- Contentful-powered content management
- JWT authentication and protected user routes
- User profile management
- Cloudinary image uploads
- Dynamic solution pages for different remote roles
- CMS-managed testimonials, case studies, partner logos, and legal pages
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- GSAP
- Swiper
- Next.js Route Handlers
- Contentful
- JWT Authentication
- Cloudinary
- Node.js 18+
- npm
Clone the repository:
git clone <repository-url>
cd digirepsInstall dependencies:
npm installCreate a .env.local file:
NEXT_PUBLIC_CONTENTFUL_SPACE_ID=
NEXT_PUBLIC_CONTENTFUL_DELIVERY_TOKEN=
NEXT_PUBLIC_CONTENTFUL_PREVIEW_TOKEN=
NEXT_PUBLIC_URI=
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=
NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET=Start the development server:
npm run devThe application will be available at:
http://localhost:3000
src/
├── app/
├── components/
├── context/
├── lib/
└── instrumentation.ts
app/— Pages, layouts, route handlers, and route groupscomponents/— Reusable UI components and page sectionscontext/— Authentication and global state providerslib/— Contentful integration and shared utilitiespublic/— Static assets
Authentication is handled using JWT tokens.
- Users authenticate through
/portal - Tokens are stored in local storage
- Sessions are restored automatically on page refresh
- Protected routes redirect unauthenticated users
Protected routes include:
/profile/edit-profile
The following content is managed through Contentful:
- Partner logos
- Testimonials
- Case studies
- Footer content
- Privacy policy
- Terms and conditions
If Contentful credentials are not configured, CMS-driven sections will not display data.
npm run dev
npm run build
npm run start
npm run lintThe project includes a server-side localStorage polyfill to avoid compatibility issues with certain Node.js versions and third-party dependencies during server-side rendering.
Proprietary software. All rights reserved.