Eonix is a career exploration and learning platform designed to make career guidance accessible to everyone. The platform enables users to browse various career paths, select relevant courses, access high-quality resources, and take assessments to test their knowledge. The backend is built with Django and Django Rest Framework (DRF), with a focus on API usability for both mobile and web applications.
The motivation behind Eonix stems from the lack of centralized and accessible career information, especially for individuals looking to enter or transition within different industries. Many people struggle with finding relevant career resources or understanding which skills are necessary for a specific career path. Eonix solves this by offering curated paths, courses, and assessments to guide users on their career journey.
To get Eonix running on your local machine, follow these steps:
-
Clone the repository:
git clone https://github.com/belloibrahv/Eonix cd Eonix
-
Set up a virtual environment:
python3 -m venv .venv source .venv/bin/activate
-
Install dependencies:
pipenv install
-
Apply database migrations
python manage.py makemigrations python manage.py migrate
-
Run the application:
python manage.py runserver
The primary functionalities include:
- Browse Career Paths: Users can explore various career paths and see the skills and courses recommended for each path.
- Course Selection: Users can enroll in courses relevant to their chosen career paths.
- Assessments: Users can take assessments to evaluate their progress and knowledge.
- Filtering: Filter courses or topic based on completion status (completed, incomplete, all).
API Endpoints:
/api/careers/
: Get a list of career paths./api/courses/
: List courses and filter by completion status./api/courses/?status=completed
: Get completed courses./api/courses/?status=in-complete
: Get incomplete courses./api/courses/?status=all
: Get all courses.
/api/topics/
: List topics and filter by completion status./api/topics/?status=completed
: Get completed topics./api/topics/?status=in-complete
: Get incomplete topics./api/topics/?status=all
: Get all topics.
Contributions are welcome! Please fork the repository and submit a pull request with your changes. Make sure to follow the contribution guidelines listed in the CONTRIBUTING.md
file.