This project is a full-stack AI-powered job platform built with Next.js, ASP.NET Core, and PostgreSQL. It also relies on DaisyUI and TailwindCSS for the user interface, and OpenAI to power semantic search, personalized discovery, and an AI career assistant. Users can browse and search for employers, job posts, and job seekers, build their profiles and resumes to attract employers, save and apply to positions, post reviews, and communicate through direct messages or with an AI chatbot.
- .NET 9.
- PostgreSQL 16+.
- Node Package Manager (NPM).
- Valid OpenAI API key.
- Valid secret key for JWT authentication. Generate one at this website.
- SMTP provider, preferably Mailtrap.
- Note that to send real emails with services like Mailtrap, a verified domain will need to be provided. Otherwise, just use the sandbox SMTP that limits recipients to a single testing email address.
- Gmail is also a valid option. Refer to this guide for setup.
Clone this repository.
- Enter the directory
backendand open the .NET solution in an IDE/code editor compatible with .NET (Visual Studio, VS Code, Rider, etc.) - Open appsettings.json and replace all the placeholders with your Postgres credentials, JWT secret key, OpenAI API key, and SMTP service credentials.
- Open a terminal and change directory to
backend/Backend. Run the commanddotnet ef database update. This command will run the initial migration that creates and seeds the application's database.
- Open a terminal and change directory to
frontend. - Run
npm installto install the necessary dependencies.
- Debug or run the .NET backend project. The command for running the project (without debugging) is
dotnet run. - In the Next.js frontend, run
npm run devto start the frontend's development server.
- Publish the .NET project. The command for publishing is
dotnet publish. - Go into the directory where the project was published (it should be
bin\Release\net9.0\publishusually) and run the executable to start the production server. - Back in the Next.js frontend, build the optimized production version of the app by running
npm run build. - Run
npm startto launch the production version of the app.
- The password for all accounts is 123Aa!

