A web application for visualizing and managing course dependencies using an interactive graph interface. Built with Vue.js, FastAPI, and PostgreSQL.
- Interactive D3.js graph visualization
- Course dependency management
- Dark/Light theme support
- Real-time graph updates
Frontend:
- Vue 3
- TypeScript
- Tailwind CSS
- D3.js
- Pinia (State Management)
Backend:
- FastAPI
- SQLAlchemy
- PostgreSQL
- Alembic (Database Migrations)
- Docker and Docker Compose
- PostgreSQL database (or a cloud database service like Neon)
- Clone the repository
git clone https://github.com/asmaelabid/interactive-knowledge-map.gitcd interactive-knowledge-map
- Environment Configuration
- Create the following .env files:
-
Frontend directory .env:
VITE_BACKEND_URL=http://localhost:8000/api/v1 -
Backend directory .env:
DATABASE_URL=postgresql+asyncpg://user:password@host:port/database_name
-
β οΈ Make sure to replace the database credentials with your own in the .env file
-
Build and Run with Docker
docker-compose up --build
- Frontend: http://localhost:80
- Backend API: http://localhost:8000
GET /api/v1/courses/- List all coursesPOST /api/v1/courses/- Create a new courseGET /api/v1/courses/{course_id}- Get course detailsPUT /api/v1/courses/{course_id}- Update a courseDELETE /api/v1/courses/{course_id}- Delete a course