A scalable resume parsing and placement platform for colleges, built with FastAPI (Backend) and Next.js (Frontend).
- Node.js: v18 or higher
- Python: v3.10 or higher
- PostgreSQL: v15 or higher (If running manually without Docker)
- Docker & Docker Compose (Optional, but recommended for easy setup)
The easiest way to get the entire stack (Database, Backend API, Frontend) running is via Docker Compose.
-
Clone the repository:
git clone https://github.com/Bshashank123/placement-platform.git cd placement-platform -
Start the containers:
docker-compose up --build -d
-
Initialize the database (Run migrations & seed script):
docker exec -it placement-backend alembic upgrade head docker exec -it placement-backend python scripts/seed.py
-
Access the application:
- Frontend: http://localhost:3000
- Backend API Docs: http://localhost:8000/docs
(Note: The seed script will create some default accounts. Check the backend logs or
seed.pyfor demo credentials).
If you prefer to run the application locally without Docker, follow these steps.
Make sure PostgreSQL is running on your machine, then create the database:
CREATE DATABASE placement_platform;-
Open a terminal and navigate to the backend folder:
cd backend -
Create and activate a Python virtual environment:
# Windows python -m venv venv venv\Scripts\activate # Mac/Linux python3 -m venv venv source venv/bin/activate
-
Install the dependencies:
pip install -r requirements.txt
-
Configure your environment variables: Copy
.env.exampleto.envand adjust theDATABASE_URLif your PostgreSQL username/password is different.cp .env.example .env
-
Run database migrations and seed default data:
alembic upgrade head python scripts/seed.py
-
Start the backend server:
uvicorn app.main:app --reload
The backend API will now be running at http://localhost:8000.
-
Open a new terminal and navigate to the frontend folder:
cd frontend -
Install the Node modules:
npm install
-
Configure your environment variables: Copy
.env.exampleto.env.localto configure the API URL.cp .env.example .env.local
-
Start the frontend development server:
npm run dev
The frontend UI will now be running at http://localhost:3000.
- Database Connection Errors: Ensure your PostgreSQL server is running and the credentials in
backend/.envmatch your local DB setup. - CORS Errors: Make sure
FRONTEND_URLinbackend/.envmatches exactly where your frontend is running (e.g.,http://localhost:3000without a trailing slash). - Missing Files: The repository ignores
.envfiles andnode_modulesby design. Always make sure to duplicate the.env.examplefiles and runnpm install.