Distracted Driving is a huge problem in the current day. Introducing SafeDrive. SafeDrive's main feature is that it uses your phone’s camera to detect the distance you are from objects around you such as cars in front of you and passing by you. With additional safety features like a comprehensive accident checklist and statistics to collision warnings, hard brakes and average speed, SafeDrive provides assistance and accountability for all kinds of drivers.
- User Authentication (Name, Email, DOB, SSN)
- Camera tracking of the distance of objects nearby and primarily in front of the vehicle
- Accountability system (Statistics over time)
- Tracking Speed, Hard Brakes, Phone-In-Hand (if not using camera tracking) and other distracted driving features
- Record while driving and act as a dash cam
- OCR for insurance and license info
- Badges and leveling up
- License and Vehicle registration information
- User-based crowd-sourced navigation information
- Potential interfaced with Google Maps for routing while in Camera Mode
Frontend AND Backend
- Decide on the tech stack
- Download and set up environments
- Spend time looking at potential APIs for features
- Code test files in the chosen language and upload to the repository's test branch
- Establish communication between team members and sub-teams
-
Frontend
- Research Vehicle-based app design
- Use Figma to draw up wireframes and edit until a finalized look is reached. Make wireframes interactive.
- Learn the basics of Flutter/Dart or Swift
- Code design from final wireframes in an Object-Oriented manner
- Integrate frontend with backend collectively after frontend is completely done with all pages
-
Backend
- Research Firebase and SQL databases
- Learn the basics of Firebase/SQL (If SQL is chosen)
- Learn APIs and OpenCV or alternate object detection software
- Set up a database and database methods to store the information that the user enters
- Set up a camera feature focusing on image output and detection of objects from those images
- Integrate frontend and backend to display data that relies on database storage
- Wireframing: Figma
- IDE: Android Studio or VSC
- Frontend: Flutter
- Flutter provides a lot of built-in UI components and is easier for cross-compatibility
- Backend: Firebase/Firestore OR SQL and OpenCV or Amazon Sagemaker with Dart in Flutter
- Firebase handles flat data and simple queries very well, while Firestore handles more complex data and advanced queries better
- SQL is more commonly used in the industry and makes simple data easy to use at larger amounts
- OpenCV is a computer vision library to handles the object detection portion.
- Amazon Sagemaker can be used to train a model quickly to handle the detection of the backs of vehicles and or license plate information
General
- Success in ACM Projects
- Installing Android Studio: Windows / iOS
- API Crash Course w/ timestamps
- GitHub Cheat Sheet #1
- GitHub Cheat Sheet #2
Front-end
Back-end
- Dart Crash Course w/ timestamps
- Add Firebase to Android
- Flutter & Firebase
- OpenCV in Dart
- OpenCV Github Tutorial
- MySQL
- yolov5
-
Frontend
- Advay Chandramouli
- Poojitha Kommera
-
Backend
- Arvindh Kumar Kalainathan
- Abhinav Malkoochi
- Alan Roybal
-
Project Manager: Abis Naqvi
-
Industry Mentor: Jeshna Gupta