ECE Pathmaker is a visual drag-and-drop course planner for UofT electrical and computer engineering students. As an unofficial companion tool to UofT ECE's Magellan, it simplifies the planning process before finalizing your pre-registration.
The project is built using the following technologies:
- Frontend: React, TypeScript, HTML, Tailwind CSS, dnd-kit (drag-and-drop), shadcn/ui (tooltip buttons)
- Testing: Jest, manual testing
- Build Tools: Vite, PostCSS
- Version Control: Git, GitHub
- CI/CD: Hosted with continuous integration and deployment on Vercel
I value your feedback! Please provide your feedback here.
NOTE: ** was used a separation character initially, but replaced it with %% to avoid causing bold text when sending on messaging platforms.
To get started with the project, follow these steps:
- Clone the repository
- Install dependencies:
npm install - Start the development server:
npm run dev
Contributions are welcome! Please fork the repository and submit a pull request.
- Proper mobile experience
- Add more courses and course information in database (all courses in Magellan)
- Use
localStorageto store data in the browser - Clear grid button
- Screenshot button
- Easier way to edit colors
- Support for co-requisites
- Dark mode
- Multiple saved layouts
- 6th column for overloading (in a different color)
- Proper backend to store core course details and improve save/load functionality
- Store data in the URL
- Google OAuth login (Firebase)
- Checking for minors and certificates (much hardcoding)
- Extend to other engineering disciplines
Try this layout! ECE graduation, AI minor, business certificate (screenshot above):
APS360Applied Fundamentals of Deep Learning%%6#ffd699$$ECE345Algorithms & Data Structures%%6k#ffd699$$ECE344Operating Systems%%6k#ffd699$$ECE302Probability and Applications%%45m#e6b3ff$$ECE361Co-302 Computer Networks I%%5k#ffb3b3@@CSC343Introduction to Databases%%6#ffd699pESC190|ECE345$$ECE419Distributed Systems%%6s#ffd699pECE344|ECE353$$ECE311Introduction to Control Systems%%4k#e6b3ff$$ECE334Digital Electronics%%3k#b3e6b3$$ECE421Introduction to Machine Learning%%4#e6b3ffpSTA286|ECE302@@ECE496Design Project h1 (capstone)%%#091f7d$$ECE552Computer Architecture%%5f#ffb3b3$$CSC413Neural Networks and Deep Learning%%#ffc2e0pCSC311|CSC411|STA314|ECE421|ROB313$$JRE420People Management and Organizational Behaviour%%h#d4a5a5$$@@ECE497Design Project h2 not a real course (capstone)%%#091f7d$$ECE472Engineering Economics%%#091f7d$$MIE369Introduction to Artificial Intelligence%%s#ffc2e0pMIE236|ECE286|ECE302$$JRE410Markets and Competitive Strategy%%c#a89c64$$CST000cs%%c#a89c64@@HPS120How to Think about Science%%ha#d4a5a5$$
