Complete Documentation for Ashie Resume | JobPortal
Version 1.0 - Admin Documentation
๐ Admin Panel Overview
Welcome to the Ashie Resume | JobPortal admin panel. This comprehensive guide will help you configure and manage every aspect of your job portal.
Accessing the Admin Panel
To access the admin panel, you need to log in with an administrator account:
Open the Login Page
Navigate to https://yourdomain.com/login in your web browser.
Enter Admin Credentials
Use your admin email and password to log in. If you're using the demo installation, the default admin account is:
Email:superadmin@test.com
Password:password123
Access Admin Dashboard
Once logged in, click on your profile icon in the top-right corner and select "Admin Panel" or navigate directly to https://yourdomain.com/admin
โ ๏ธ Important Security Notice:
After installation, immediately change the default admin password to a strong, unique password. Go to your profile settings and update your credentials.
Admin Panel Sections
The admin panel is organized into the following main sections:
๐ Dashboard
Overview of key metrics, recent activities, and system status at a glance.
๐ฅ User Management
Manage all users including job seekers, employers, and administrators.
๐ผ Job Management
Review, approve, or remove job listings posted by employers.
๐ฆ Packages
Create and manage subscription packages and pricing plans.
๐ณ Payment Settings
Configure payment gateways and manage transactions.
๐ Languages
Add languages and configure automatic translation services.
๐จ Appearance
Customize branding, theme colors, and visual elements.
โ๏ธ System Settings
Configure email, integrations, and general site settings.
๐ Dashboard & Analytics
The admin dashboard provides a comprehensive overview of your job portal's performance, user activity, and key metrics.
Understanding Dashboard Metrics
Your dashboard displays the following key performance indicators:
Metric
Description
What It Tells You
Total Users
Count of all registered users
Platform growth and reach
Active Jobs
Currently live job postings
Marketplace health and activity
Applications
Total job applications submitted
User engagement level
Revenue
Total earnings from subscriptions
Business performance
Resumes Created
Number of resumes built
Resume builder usage
New Signups
Recent user registrations
Growth trend
Analytics Features
The analytics section provides detailed insights into:
User Analytics: Registration trends, user roles distribution, active users
Job Analytics: Popular categories, job posting frequency, application rates
AI Usage: AI feature utilization, credits consumed, popular AI tools
๐ก Pro Tip: Check the dashboard daily to monitor your platform's health. Sudden drops in activity might indicate technical issues that need attention.
๐จ Logo & Branding
Customize your platform's visual identity by uploading your logo, favicon, and other branding assets.
Uploading Your Logo
Your logo appears in the header navigation, footer, and throughout the platform. Here's how to upload it:
Navigate to Site Configuration
Go to Admin Panel โ Settings โ Site Configuration or click the "Site Configuration" tab in the settings page.
Locate the Branding Section
Scroll down to find the branding upload areas. You'll see options for:
Main Logo: Used in the header navigation
Footer Logo: Displayed in the website footer
Favicon: Small icon shown in browser tabs
Upload Your Files
Click the upload area or drag and drop your image files:
Supported formats: PNG, JPG, JPEG, SVG
Maximum file size: 5MB per file
Recommended logo size: 200x50 pixels (PNG with transparency)
Recommended favicon size: 32x32 or 64x64 pixels
Save Changes
Click the "Save Changes" button to apply your new branding. The changes will be visible immediately across the entire platform.
Branding Best Practices
๐ Logo Dimensions
Use a horizontal logo (landscape orientation) for best display in navigation bars. Keep height around 40-60px.
๐ญ Transparency
Use PNG format with transparent background for logos. This ensures they look good on any background color.
โก File Size
Optimize your images for web. Smaller file sizes mean faster loading times for your users.
๐ Dark Mode
Consider having a light version of your logo if it contains dark colors, as some users may use dark mode.
๐ก Pro Tip: After uploading a new favicon, you may need to clear your browser cache (Ctrl+F5 or Cmd+Shift+R) to see the changes in your browser tab.
๐ญ Theme Customization
Personalize your platform's color scheme to match your brand identity. Changes apply instantly across the entire application.
Accessing Theme Settings
Navigate to Admin Panel โ Settings โ Theme to access the theme customization panel.
Available Color Options
You can customize three main colors that affect the entire platform:
Click the color picker box to open the color selection tool
Choose a color visually or enter a HEX code (e.g., #6366f1)
The live preview will update immediately
Preview Your Changes
The Theme Settings page includes a live preview section showing how buttons, cards, and other UI elements will look with your chosen colors.
Save Your Theme
Click "Save Changes" to apply your new color scheme site-wide. The colors will take effect immediately for all users.
Reset to Default Colors
If you want to restore the original theme colors:
Click the "Reset / Refresh" button in the Theme Settings panel
Confirm the action when prompted
The default colors will be restored
โ ๏ธ Color Accessibility:
When choosing colors, ensure there's enough contrast between text and background colors. This helps users with visual impairments read your content easily. Tools like WebAIM Contrast Checker can help verify your color choices.
๐ Language Management
Make your job portal accessible to a global audience by adding multiple languages and configuring automatic translation services.
Accessing Language Settings
Navigate to Admin Panel โ Settings โ Language Management or go directly to Admin Panel โ Languages (i18n) in the sidebar.
Adding a New Language
Open Language Management
Go to Admin Panel โ Languages from the sidebar menu.
Click "Add Language"
Click the "Add Language" button in the top-right corner to open the language creation form.
Fill in Language Details
Enter the following information:
Language Name: Display name (e.g., "Spanish", "French")
Locale Code: Standard locale code (e.g., "es" for Spanish, "fr" for French)
Flag Emoji: Optional flag emoji for visual identification (e.g., ๐ช๐ธ, ๐ซ๐ท)
RTL (Right-to-Left): Enable for languages like Arabic or Hebrew
Active: Toggle to make the language available to users
Save the Language
Click "Create Language" to add the new language to your platform.
Auto-Translation Feature
The platform can automatically translate your content to new languages using translation APIs:
๐ง Built-in Provider
Cost: Free Quality: Basic
Uses the platform's built-in translation dictionary. Good for common phrases.
๐ LibreTranslate
Cost: Free (self-hosted) or paid Quality: Good
Open-source translation engine. Can be self-hosted for free.
๐ต Google Translate
Cost: Paid Quality: Excellent
Industry-leading translation quality with wide language support.
๐ข DeepL
Cost: Paid Quality: Superior
Known for the most natural-sounding translations.
Configuring Translation Provider
Go to Translation Settings
Navigate to Admin Panel โ Languages โ Translation Settings (gear icon).
Select Translation Mode
Choose between:
Manual: You provide all translations manually
Auto-Translate: Automatically translate missing text
Choose Your Provider
Select your preferred translation provider from the dropdown menu.
Enter API Credentials
If using a paid service, enter the required API keys:
Azure Translator: Key and Region from Azure Portal
LibreTranslate: Server URL from LibreTranslate (self-hosted or public)
Test Your Configuration
Click the "Test Provider" button to verify your settings work correctly before saving.
Setting Default Language
The default language is what new visitors see when they first visit your site:
In the Language Management page, find your preferred default language
Click the star icon or "Set as Default" option
The default language will be marked with a special indicator
๐ก Pro Tip: Start with 2-3 major languages relevant to your target audience. You can always add more languages later. Each language adds translation overhead, so quality is more important than quantity.
๐ณ Payment Gateway Configuration
Accept payments from customers worldwide by configuring one or more payment gateways. The platform supports 7 popular payment providers.
Supported Payment Gateways
๐ณ
Stripe
The most popular payment processor for online businesses. Supports cards, Apple Pay, Google Pay.
๐ Global135+ currencies
Best for: US, EU, UK, Canada, Australia
๐ ฟ๏ธ
PayPal
Trusted by millions worldwide. Excellent for users who prefer not to enter card details.
๐ Global200+ markets
Best for: International customers, buyer protection
๐ฆ
Flutterwave
Africa's leading payment platform. Supports mobile money, bank transfers, and cards.
๐ Africa34+ countries
Best for: Nigeria, Ghana, Kenya, South Africa
๐
Paystack
Modern payments infrastructure for Africa. Owned by Stripe.
๐ AfricaNigeria-focused
Best for: Nigeria, Ghana, South Africa
๐ฟ๐ฆ
PayFast
South Africa's trusted payment gateway. Supports EFT, credit cards, and Mobicred.
๐ฟ๐ฆ South AfricaZAR only
Best for: South African businesses
๐ฎ๐ณ
Razorpay
India's most popular payment gateway. Supports UPI, cards, net banking, wallets.
๐ฎ๐ณ IndiaINR focused
Best for: Indian market, UPI payments
๐ง๐ท
Mercado Pago
Latin America's leading payment platform. Supports Pix, boleto, and local cards.
๐ Latin America18 countries
Best for: Brazil, Argentina, Mexico
Configuring a Payment Gateway
Access Payment Settings
Navigate to Admin Panel โ Settings โ Payment Gateway.
Select a Gateway
Click on the payment gateway you want to configure from the list on the left side.
Choose Environment Mode
Select between Sandbox (testing) and Live (production) mode:
Sandbox Mode: Use for testing with fake/test credentials. No real money is charged.
Live Mode: Use for real transactions. Real money will be charged.
Enter API Credentials
Each gateway requires specific credentials. Here's what you'll need:
Each gateway has a toggle switch that controls whether it appears as a payment option for users:
Enabled (Green): Gateway is available for customers to use
Disabled (Gray): Gateway is configured but not shown to customers
๐ก Recommendation: Enable multiple payment gateways to give customers more options. Different regions prefer different payment methods:
US/EU: Stripe + PayPal
Africa: Flutterwave + Paystack
India: Razorpay + Stripe
Latin America: Mercado Pago + PayPal
Testing Payments
Before going live, always test your payment integration:
Configure the gateway in Sandbox/Test mode
Use the test credentials provided by the payment provider
Use test card numbers (e.g., Stripe's test card: 4242 4242 4242 4242)
Complete a test purchase to verify the entire flow works
Check that webhooks are received and processed correctly
Once testing is successful, switch to Live mode with production credentials
โ ๏ธ Important: Never use live/production API keys in sandbox mode or vice versa. Keep your secret keys secure and never share them publicly.
๐ฆ Package & Pricing Management
Create subscription packages for both job seekers and employers. Define features, pricing, and duration for each plan.
Accessing Package Management
Navigate to Admin Panel โ Packages from the sidebar menu.
Creating a New Package
Click "Add New Package"
Click the "Add New Package" button in the top-right corner of the Packages page.
Fill in Basic Information
Enter the following details:
Package Name: Display name (e.g., "Professional", "Enterprise")
Description: Brief description of what the package offers
Target Audience: Choose "Employer" or "Job Seeker"
Set Pricing
Configure the pricing options:
Price: Amount to charge (in your base currency)
Duration (Days): How long the subscription lasts (e.g., 30 for monthly)
Package Type: "Subscription" (recurring) or "One-time" (single payment)
Define Features
List the features included in this package. Each feature should be on a new line. Examples:
Post up to 10 jobs per month
Access to resume database
Priority job listing
Advanced analytics dashboard
Set Package Options
Configure additional options:
Is Active: Whether the package is available for purchase
Is Popular: Mark as popular to highlight it (shows a special badge)
Save the Package
Click "Create Package" to save. The package will now appear in the pricing section of your website.
Package Examples
๐ผ Employer - Basic
Price: $29/month Features:
Post up to 5 jobs
Basic analytics
Email support
๐ผ Employer - Professional
Price: $79/month Features:
Post up to 25 jobs
Featured job listings
Resume database access
Priority support
๐ค Job Seeker - Premium
Price: $9.99/month Features:
AI Resume Builder
Unlimited applications
Profile boost
Interview preparation tools
Editing Packages
To modify an existing package:
Find the package in the list
Click the Edit (pencil) icon
Make your changes
Click "Update Package" to save
โ ๏ธ Note: Changing package prices won't affect existing subscribers. They'll continue at their original price until their subscription renews or they choose to upgrade/downgrade.
๐ฅ User Management
Manage all users registered on your platform, including job seekers, employers, and administrators.
Accessing User Management
Navigate to Admin Panel โ Users from the sidebar menu.
User Types
User Role
Description
Capabilities
Job Seeker
Users looking for employment
Create resumes, apply to jobs, manage profile
Employer
Companies posting job openings
Post jobs, manage applications, company profile
Admin
Platform administrators
Full access to admin panel, manage all content
Super Admin
Primary administrator
All admin capabilities plus system settings
Managing Users
Viewing Users
The user list shows:
User name and email
User role (Seeker, Employer, Admin)
Statistics (resumes created, jobs posted, etc.)
Registration date
Searching Users
Use the search bar to find users by:
Name
Email address
User Actions
For each user, you can:
๐๏ธ View: See user profile and details
โ๏ธ Edit: Modify user information
๐๏ธ Delete: Remove user account (with confirmation)
โ Warning: Deleting a user is permanent and cannot be undone. All associated data (resumes, applications, job posts) will also be deleted.
๐ผ Job Management
Review and manage all job listings posted by employers on your platform.
Accessing Job Management
Navigate to Admin Panel โ Jobs from the sidebar menu.
Job List Overview
The jobs page displays:
Job Title: Position name and salary range
Company: Employer who posted the job
Location: Job location (city/remote)
Type: Full-time, Part-time, Contract, etc.
Posted Date: When the job was published
Job Actions
For each job listing, you can:
๐๏ธ View: See full job details
โ๏ธ Edit: Modify job information
๐๏ธ Delete: Remove the job posting
Moderation Tips
๐ก Best Practices for Job Moderation:
Review jobs for spam or inappropriate content
Verify company information for legitimacy
Remove duplicate job postings
Check for unrealistic salary claims
Ensure jobs comply with local labor laws
๐ Content Management
Customize the content displayed on various pages of your job portal, including the homepage, blog, and static pages.
Homepage Customization
Navigate to Admin Panel โ Homepage to customize:
Hero Section
Hero Slides: Create multiple slides with different headlines, descriptions, and images
Statistics: Customize the stats displayed (e.g., "10K+ Active Jobs")
Carousel Settings: Enable/disable auto-rotation and set interval
How It Works Section
Add, edit, or remove steps that explain how your platform works
Each step includes an icon, title, and description
Features Section
Highlight key features of your platform
Customize icons, titles, and descriptions
Call-to-Action (CTA)
Customize the CTA banner title and button text
Set the background color and link destination
Blog Management
Navigate to Admin Panel โ Blog to manage blog content:
Create and edit blog posts
Set featured images
Manage categories
Schedule publication dates
Static Pages
Navigate to Admin Panel โ Pages to manage pages like:
About Us
Privacy Policy
Terms of Service
Contact Information
FAQ
๐ง Email Configuration
Configure email settings to enable system notifications, password resets, and other email communications.
Accessing Email Settings
Navigate to Admin Panel โ Settings โ Email Settings.
SMTP Configuration
Enter the following SMTP details:
Setting
Description
Example Value
SMTP Host
Your email server address
smtp.gmail.com
SMTP Port
Server port number
587 (TLS) or 465 (SSL)
SMTP Username
Your email address
noreply@yourdomain.com
SMTP Password
Email password or app password
Your secure password
From Address
Sender email address
noreply@yourdomain.com
Popular Email Provider Settings
๐ง Gmail / Google Workspace
Host: smtp.gmail.com Port: 587 (TLS) or 465 (SSL) Note: Use an App Password, not your regular password
๐ง Mailgun
Host: smtp.mailgun.org Port: 587 Note: Get credentials from Mailgun dashboard
๐ง SendGrid
Host: smtp.sendgrid.net Port: 587 Note: Use API key as password, "apikey" as username
โ ๏ธ Gmail Users: If using Gmail, you must enable "Less secure app access" or create an App Password. Google blocks sign-ins from apps that don't meet their security standards. We recommend using a dedicated email service like Mailgun or SendGrid for production.
๐ค AI & Interview Setup
Configure OpenAI integration and AI-powered features including the video interview practice system.
Setting Up OpenAI
OpenAI powers multiple AI features in your platform including resume optimization, cover letter generation, job matching, and the AI interview practice system.
GPT-3.5 Turbo is very affordable (~$0.002 per 1K tokens)
Average resume optimization: ~500-1000 tokens ($0.001-0.002)
Full interview session: ~2000-4000 tokens ($0.004-0.008)
Fallback Behavior
If OpenAI is not configured or unavailable:
Interview questions fall back to a built-in question bank
Resume features show helpful tips instead of AI suggestions
No errors are shown to users - graceful degradation
Enabling/Disabling AI Features
Control AI feature availability in Admin Panel โ Settings โ Features Management:
Toggle individual AI features on/off
Useful for managing costs or during maintenance
Changes take effect immediately
โก Feature Management
Control which features are available on your platform. Enable or disable features instantly without code changes.
Accessing Feature Controls
Navigate to Admin Panel โ Settings โ Features Management or click the link in the Settings sidebar.
Available Feature Toggles
You can control the following features:
AI Tools
AI Resume Builder: AI-powered resume creation assistance
AI Cover Letter: Automatic cover letter generation
AI Job Matching: Smart job recommendations based on profile
Creation Tools
Resume Builder: Visual resume builder
Cover Letter Builder: Cover letter templates and editor
Portfolio Builder: Portfolio page creation
How to Toggle Features
Find the feature you want to control
Click the toggle switch next to it
The change takes effect immediately
๐ก Use Case: If you're experiencing high server load, you can temporarily disable AI features to reduce resource usage. Re-enable them once the load normalizes.
๐ Third-Party Integrations
Connect external services to enhance your platform's functionality.
Accessing Integrations
Navigate to Admin Panel โ Settings โ Integrations.
Available Integrations
Google Analytics
Track website traffic and user behavior:
Toggle "Enable Google Analytics" to ON
Enter your Google Analytics tracking ID (e.g., G-XXXXXXXXXX)
Save changes
Slack Notifications
Receive alerts in your Slack workspace:
Toggle "Enable Slack Notifications" to ON
Configure your Slack webhook URL in the .env file
Save changes
Social Login
Allow users to sign in with social accounts:
Google Login: Enable/disable Google OAuth
Facebook Login: Enable/disable Facebook OAuth
Note: Social login credentials are configured in the server .env file, not the admin panel.
Cookie Consent Banner
Configure the GDPR-compliant cookie consent popup:
Go to Settings โ Cookie Consent
Enable/disable the banner
Customize the message text
Set button labels (Accept, Reject, Manage)
Add link to your privacy policy
๐ก๏ธ Security & IP Blocking
Protect your platform from malicious users and bots by managing IP blocks and security settings.
Accessing IP Management
Navigate to Admin Panel โ Settings โ Security or Blocked IPs from the sidebar.
Viewing Blocked IPs
The blocked IPs list shows:
IP Address: The blocked IP
Reason: Why the IP was blocked
Blocked At: When the block was applied
Expires At: When the block will automatically lift (if not permanent)
Status: Active or Expired
Blocking an IP Address
To manually block an IP:
Click "Block IP" button
Enter the IP address (e.g., 192.168.1.100)
Enter a reason for blocking
Choose duration:
Temporary: Set minutes/hours/days
Permanent: No expiration
Click "Block" to save
Unblocking an IP
To remove a block:
Find the IP in the blocked list
Click the Unblock or trash icon
Confirm the action
Automatic IP Blocking
The system automatically blocks IPs for:
Too many failed login attempts
Suspicious request patterns
Rate limit violations
Automatic blocks expire after a set duration (configurable in settings).
โ ๏ธ Be Careful: Blocking an IP affects all users from that address. If the IP belongs to a company or ISP, multiple legitimate users could be affected. Use temporary blocks when possible.
Best Practices
Monitor patterns: Watch for repeated attacks from similar IP ranges
Use temporary blocks: Start with 24-hour blocks, escalate if needed