Aspira offers a variety of features:
- Career questionaire taking factors such as hobbies and interests into account.
- Career ideas with insight from an AI neural network.
- Course recommendations to help you achieve your chosen degree.
- College and University recommendations.
- and more!
Caution
In order to build and/or edit this project, you will need Docker installed! You will also need to create a .env file with environment variables at the top level.
This project makes us of Docker containers, each microservice is housed in its own container to make it easier to run. Docker also may require WSL (Windows Subsystem for Linux) installed on your machine if you are running a Windows device.
# Make sure you're in the root folder where `docker-compose.yml` is present.
cd /
# Build the containers and run them together. The webapp is now live at "http://localhost:3000".
docker compose up --build
# Once you are done running the app, you can close it using this.
docker compose downThis project is mainly made of 3 microservices which each handle their own respective tasks. Each service has more features that cannot all be listed here.
This microservice is responsible for the main interface that users see when launching the webapp. It interacts with the backend via RESTful requests.
- Provides a dynamic form where users can enter interests, traits, and goals.
- Provides a clean and responsive UI to display career recommendations.
- Makes API calls to the backend to send and retrieve data.
This microservice is responsible for making everything work together, it mainly provides these key features:
- Connects to PostgreSQL database for persistance
- Stores user data such as their names, career recommendations, college recommendations, and blog-related data.
- Connects to the Python layer in order to get recommendations from the random forest model.
- Exposes API endpoints for the frontend to access. (e.g
/recommend,/career-info) - Handles authentication, logging, and validation.
The Spring Boot application is split into multiple folders, with the main ones being /controller, /service, /model, /repository, and /config. The Spring Boot app also uses additional depdencies such as SLF4J and Log4J.
This microservice is responsible for all of the AI-related tasks, such as generating predictions on what career would suit said person.
- Processes data input and returns personalized career recommendations using a random forest model.
- Generates a career roadmap with suggested courses, extracirriculars, and internships.
- Communicates with the Spring Boot layer over HTTP by exposing certain endpoints with FastAPI.
Aspira is under the GNU AGPL v3.0 license, a free, copyleft license published by the Free Software Foundation.
Disclaimer: AI was used minimally to complete very tedious or simple tasks.
Aspira is made by team "Sora Creation Kit" consisting of Saumil Sharma, Kason Lai, Om Kasar, and Caezar Jensen Opaon.
