This program, "College Ikigai," is a web application designed to help students find suitable colleges based on their profiles. It consists of two main parts: 1. Frontend (React Application): - Located in the `frontend` directory. - The main application logic is in `App.js` . - It presents an initial landing page with a "GET STARTED" button. - Clicking the button reveals a form where users can input their GPA, interests, projects, extracurricular activities, and a brief personal description. - Upon submission, the frontend sends this data to the backend API. - It then displays the AI-powered college suggestions received from the backend or an error message if the request fails. - The UI includes loading states and error handling. 2. Backend (Flask Application): - Located in the `backend` directory. - The core logic is in `app.py` . - It exposes a /api/counsel endpoint that accepts POST requests with student data. - It uses the Novita AI API (via the openai library) to get college suggestions based on the provided student profile. - The backend constructs a prompt with the student's details and sends it to the configured Novita AI model ( meta-llama/llama-3.2-1b-instruct). - It requires a NOVITA_API_KEY and NOVITA_API_BASE_URL to be configured through environment variables (typically in a .env file). - It handles potential errors, such as a missing API key or issues during the API call, and returns JSON responses (either suggestions or error messages) to the frontend. Overall Functionality: The user interacts with the React frontend to input their academic and personal details. The frontend sends this information to the Flask backend, which then queries the Novita AI service to generate personalized college recommendations. These recommendations are then displayed back to the user on the frontend.
Category tags: