AshameTheDestroyer commited on
Commit
a03799d
Β·
1 Parent(s): 7f1e85c

README.md

Browse files
Files changed (3) hide show
  1. README.md +86 -50
  2. frontend/.env.example +1 -0
  3. frontend/README.md +12 -0
README.md CHANGED
@@ -1,87 +1,123 @@
1
- # Welcome to React Router!
2
 
3
- A modern, production-ready template for building full-stack React applications using React Router.
4
-
5
- [![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/remix-run/react-router-templates/tree/main/default)
6
 
7
  ## Features
8
 
9
- - πŸš€ Server-side rendering
10
- - ⚑️ Hot Module Replacement (HMR)
11
- - πŸ“¦ Asset bundling and optimization
12
- - πŸ”„ Data loading and mutations
13
- - πŸ”’ TypeScript by default
14
- - πŸŽ‰ TailwindCSS for styling
15
- - πŸ“– [React Router docs](https://reactrouter.com/)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
- ## Getting Started
18
 
19
- ### Installation
20
 
21
- Install the dependencies:
22
 
23
  ```bash
24
- npm install
 
25
  ```
26
 
27
- ### Development
28
-
29
- Start the development server with HMR:
30
 
31
  ```bash
32
- npm run dev
33
  ```
34
 
35
- Your application will be available at `http://localhost:5173`.
 
 
36
 
37
- ## Building for Production
38
 
39
- Create a production build:
 
 
 
 
40
 
41
  ```bash
42
- npm run build
43
  ```
44
 
45
- ## Deployment
 
 
46
 
47
- ### Docker Deployment
48
 
49
- To build and run using Docker:
 
 
 
 
50
 
51
  ```bash
52
- docker build -t my-app .
 
53
 
54
- # Run the container
55
- docker run -p 3000:3000 my-app
 
 
 
 
 
 
56
  ```
57
 
58
- The containerized application can be deployed to any platform that supports Docker, including:
59
 
60
- - AWS ECS
61
- - Google Cloud Run
62
- - Azure Container Apps
63
- - Digital Ocean App Platform
64
- - Fly.io
65
- - Railway
66
 
67
- ### DIY Deployment
68
 
69
- If you're familiar with deploying Node applications, the built-in app server is production-ready.
 
70
 
71
- Make sure to deploy the output of `npm run build`
72
 
73
- ```
74
- β”œβ”€β”€ package.json
75
- β”œβ”€β”€ package-lock.json (or pnpm-lock.yaml, or bun.lockb)
76
- β”œβ”€β”€ build/
77
- β”‚ β”œβ”€β”€ client/ # Static assets
78
- β”‚ └── server/ # Server-side code
79
- ```
 
 
 
 
 
 
80
 
81
- ## Styling
82
 
83
- This template comes with [Tailwind CSS](https://tailwindcss.com/) already configured for a simple default starting experience. You can use whatever CSS framework you prefer.
84
 
85
- ---
86
 
87
- Built with ❀️ using React Router.
 
1
+ # Talent Technical Evaluation
2
 
3
+ Comprehensive full‑stack ai-powered sample application for creating, managing, and evaluating hiring assessments. This repository contains a Python FastAPI backend and a TypeScript React frontend built with Vite and React Router. The project demonstrates common hiring workflows including job posting, assessment creation, candidate application, and AI-assisted scoring.
 
 
4
 
5
  ## Features
6
 
7
+ - User authentication and role-based flows (candidates, HR).
8
+ - Job posting and management.
9
+ - Assessments attached to jobs with rich question types.
10
+ - Candidate application submission and progress tracking.
11
+ - AI-powered scoring and rationalization.
12
+ - Admin dashboard with overview charts and pagination.
13
+
14
+ ## Technology stack
15
+
16
+ - Backend: Python, FastAPI, Pydantic, SQLAlchemy, Alembic, Uvicorn.
17
+ - Frontend: React (TypeScript), React Router, Vite, TailwindCSS.
18
+ - API client: Axios, React Query.
19
+ - Database: SQLite (default; configurable via `DATABASE_URL`).
20
+ - Dev & tooling: pytest, Pre-commit, ESLint/TypeScript (frontend).
21
+
22
+ ## Prerequisites
23
+
24
+ - Python 3.10+ (recommended).
25
+ - Node.js 18+ and npm or pnpm.
26
+
27
+ ## Quick start
28
+
29
+ Follow these steps to run the backend and frontend locally.
30
+
31
+ ### Backend
32
 
33
+ 1. Change to the backend directory:
34
 
35
+ - `cd backend`
36
 
37
+ 2. Create a virtual environment and activate it:
38
 
39
  ```bash
40
+ python -m venv .venv
41
+ source .venv/bin/activate
42
  ```
43
 
44
+ 3. Install Python dependencies:
 
 
45
 
46
  ```bash
47
+ pip install -r requirements.txt
48
  ```
49
 
50
+ 4. Create an environment file:
51
+
52
+ - Copy `.env.example` to `.env` and update values as needed (DB URL, secrets, AI keys).
53
 
54
+ 5. Run database migrations (Alembic):
55
 
56
+ ```bash
57
+ alembic upgrade head
58
+ ```
59
+
60
+ 6. Start the development server:
61
 
62
  ```bash
63
+ uvicorn main:app --reload --host 0.0.0.0 --port 8000
64
  ```
65
 
66
+ The API will be available at `http://localhost:8000`. Open the automatic docs at `http://localhost:8000/docs`.
67
+
68
+ See backend-specific notes in [backend/README.md](backend/README.md).
69
 
70
+ ### Frontend
71
 
72
+ 1. Change to the frontend directory:
73
+
74
+ - `cd frontend`
75
+
76
+ 2. Install dependencies:
77
 
78
  ```bash
79
+ npm install
80
+ ```
81
 
82
+ 3. Create an environment file:
83
+
84
+ - Copy `.env.example` to `.env` and set the API URL and any other values required.
85
+
86
+ 4. Start the development server:
87
+
88
+ ```bash
89
+ npm run dev
90
  ```
91
 
92
+ The app will be available at `http://localhost:5173` by default.
93
 
94
+ See frontend-specific instructions in [frontend/README.md](frontend/README.md).
 
 
 
 
 
95
 
96
+ ## Configuration & environment variables
97
 
98
+ - Backend uses `.env` and supports overriding via environment variables. Key items include `DATABASE_URL`, `HOST`, `PORT`, and AI provider keys. Defaults are defined in `backend/config.py`.
99
+ - Frontend uses `.env` in the `frontend` folder; copy `.env.example` and configure the API base URL.
100
 
101
+ ## Running tests
102
 
103
+ - Backend tests: from the `backend` directory run `pytest` or `python run_tests.py`.
104
+ - Frontend: type-checking and other checks are available via the `package.json` scripts.
105
+
106
+ ## Project structure
107
+
108
+ - `backend/` β€” FastAPI application, models, services, tests, Alembic migrations.
109
+ - `frontend/` β€” React TypeScript app, routes, components, and styles.
110
+
111
+ ## Development notes
112
+
113
+ - The default backend database is SQLite for convenience. To use Postgres or another DB, set `DATABASE_URL` accordingly and run migrations.
114
+ - CORS is configured to allow the common Vite dev port; update `CORS_ORIGINS` in the backend `.env` if your setup differs.
115
+ - AI integration points are present under `backend/integrations/ai_integration` and `backend/services/ai_service.py` β€” supply API keys via `.env` to enable AI features.
116
 
117
+ ## Contributing
118
 
119
+ Contributions are welcome. Please open issues for bugs or feature requests and submit pull requests for changes. Follow existing code style and add tests for new behavior.
120
 
121
+ ## License
122
 
123
+ This repository does not include a license file. Add a `LICENSE` if you intend to open-source the project.
frontend/.env.example ADDED
@@ -0,0 +1 @@
 
 
1
+ VITE_APP_API_URL=http://localhost:8000
frontend/README.md ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Frontend β€” Quick Start
2
+
3
+ To run the frontend locally, follow these steps:
4
+
5
+ 1. Change to the frontend directory:
6
+ - `cd frontend`
7
+ 2. Create and configure the environment file:
8
+ - Copy `.env.example` to `.env` and update values as required.
9
+ 3. Install dependencies:
10
+ - `npm install`
11
+ 4. Start the development server:
12
+ - `npm run dev`