Skip to content

Algorithmia-SE/Smart_ATS

Β 
Β 

Smart ATS - Frontend

A modern, responsive React application for AI-powered resume analysis and optimization. This application helps job seekers optimize their resumes for Applicant Tracking Systems (ATS) by providing detailed analysis, match scores, and actionable recommendations.

πŸš€ Features

Core Functionality

  • Resume Analysis: Upload PDF resumes and get AI-powered insights
  • Job Matching: Compare resumes against job descriptions
  • Match Score: Get percentage-based compatibility scores
  • Missing Keywords: Identify important keywords missing from your resume
  • Profile Summary: AI-generated professional summary suggestions

User Management

  • User Authentication: Secure login and registration system
  • User Dashboard: Track analysis history and statistics
  • Profile Management: Manage account settings and preferences
  • Review History: Save and access previous resume analyses

Responsive Design

  • Mobile-First: Optimized for all screen sizes
  • Modern UI: Clean, professional interface using Tailwind CSS
  • Accessibility: WCAG compliant with proper focus management
  • Touch-Friendly: Optimized for mobile and tablet interactions

Additional Features

  • PDF Export: Download analysis reports as PDF
  • Social Sharing: Share results with others
  • Email Reports: Send analysis via email
  • Real-time Updates: Live analysis progress tracking

πŸ› οΈ Tech Stack

  • Framework: React 18 with TypeScript
  • Routing: React Router DOM v6
  • Styling: Tailwind CSS
  • State Management: Zustand
  • HTTP Client: Axios
  • Icons: Lucide React
  • Charts: Recharts
  • PDF Generation: jsPDF
  • File Upload: React Dropzone
  • Notifications: React Hot Toast
  • Build Tool: Vite

πŸ“¦ Installation

  1. Clone the repository

    git clone <repository-url>
    cd Smart_ATS
  2. Install dependencies

    npm install
  3. Environment Setup

    cp .env.example .env

    Update the .env file with your configuration:

    VITE_API_URL=http://localhost:5000
    VITE_APP_NAME=Smart ATS
    VITE_ENV=development
  4. Start the development server

    npm run dev
  5. Build for production

    npm run build

πŸ—οΈ Project Structure

src/
β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ ui/             # Basic UI components (Button, Input, Card, etc.)
β”‚   β”œβ”€β”€ Header.tsx      # Navigation header
β”‚   β”œβ”€β”€ Footer.tsx      # Footer component
β”‚   β”œβ”€β”€ Layout.tsx      # Main layout wrapper
β”‚   └── ...
β”œβ”€β”€ pages/              # Page components
β”‚   β”œβ”€β”€ HomePage.tsx    # Landing and analysis page
β”‚   β”œβ”€β”€ LoginPage.tsx   # User login
β”‚   β”œβ”€β”€ SignUpPage.tsx  # User registration
β”‚   β”œβ”€β”€ DashboardPage.tsx # User dashboard
β”‚   β”œβ”€β”€ ProfilePage.tsx # User profile management
β”‚   └── NotFoundPage.tsx # 404 error page
β”œβ”€β”€ contexts/           # React contexts
β”‚   └── AuthContext.tsx # Authentication context
β”œβ”€β”€ services/           # API services
β”‚   β”œβ”€β”€ api.ts         # Resume analysis API
β”‚   β”œβ”€β”€ authAPI.ts     # Authentication API
β”‚   └── reviewAPI.ts   # Review management API
β”œβ”€β”€ store/              # State management
β”‚   └── analysisStore.ts # Analysis state (Zustand)
β”œβ”€β”€ types/              # TypeScript type definitions
β”‚   └── index.ts
└── App.tsx            # Main app component

🎨 Design System

Colors

  • Primary: Blue (600-700)
  • Secondary: Indigo (600-700)
  • Success: Green (500-600)
  • Warning: Yellow (500-600)
  • Error: Red (500-600)
  • Gray Scale: Gray (50-900)

Typography

  • Font Family: System fonts (Inter, SF Pro, etc.)
  • Responsive Sizing: Mobile-first approach
  • Font Weights: 400 (normal), 500 (medium), 600 (semibold), 700 (bold)

Components

All components follow a consistent design pattern with:

  • Proper spacing using Tailwind's spacing scale
  • Consistent border radius (lg, xl)
  • Hover and focus states
  • Loading and disabled states
  • Mobile-responsive design

πŸ” Authentication

The app includes a complete authentication system:

  • Registration: Email/password with validation
  • Login: Secure authentication with JWT tokens
  • Protected Routes: Automatic redirection for unauthenticated users
  • Token Management: Automatic token refresh and storage
  • Profile Management: Update user information

πŸ“± Responsive Design

The application is built with a mobile-first approach:

  • Breakpoints: sm (640px), md (768px), lg (1024px), xl (1280px)
  • Navigation: Collapsible mobile menu
  • Touch Targets: Minimum 44px for mobile interactions
  • Safe Areas: Support for device safe areas
  • Flexible Layouts: Grid and flexbox for responsive layouts

πŸ§ͺ Testing

Run the linter:

npm run lint

πŸš€ Deployment

Vercel (Recommended)

  1. Connect your GitHub repository to Vercel
  2. Set environment variables in Vercel dashboard
  3. Deploy automatically on push to main branch

Manual Build

npm run build

The dist folder contains the production build.

πŸ”§ Configuration

Environment Variables

  • VITE_API_URL: Backend API URL
  • VITE_APP_NAME: Application name
  • VITE_ENV: Environment (development/production)
  • VITE_DEBUG_MODE: Enable debug logging

Tailwind Configuration

The app uses a custom Tailwind configuration with:

  • Extended color palette
  • Custom spacing scale
  • Responsive typography utilities
  • Custom component classes

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“„ License

This project is licensed under the MIT License.

πŸ†˜ Support

For support and questions:

  • Create an issue in the repository
  • Contact the development team
  • Check the documentation

Built with ❀️ using React and TypeScript

About

Algorithmia SE's Smart ATS Tool

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 96.3%
  • JavaScript 1.4%
  • CSS 1.4%
  • HTML 0.9%