Deadline is an application that allows you to conquer your next programming project by creating automatically generated development lifecycle schedules
Link to the slide deck!
- Welcome To Deadline! First let's clone the directory (Instructions) at your desired location and then open the IDE of your choice.
- Open a new terminal and cd to the cloned directory.
- Give the command "npm install" and then "firebase serve". Note: You might want to create your Google Firebase Console, create your new project. After that, in your IDE, open 2 terminal and run firebase serve and npm start at the same time.
- Give the command "npm start".
- Now once the web page is loaded on the local host, you should be directed to the Home Page!
- Click on "New Project" button to get started or navigate through the options in the Nav Bar.
- Once you have imported the project, you should be able to view the calendar with the assigned deadlines for each task you added based on the complexities.
- Navigate through the Wall, dashboard and the calendar page to view your project in the respective formats.
- That's it! You are all set to use this great tool and keep on top on your tasks.
- That being said, if you are ever short on time, use Deadline!
An app that allows you to input different projects, tasks associated with each project, and then uses this information to automatically generate a dynamic project schedule Essential Features:
- List tasks, assign estimated timelines for each task, and include any dependencies that exist between tasks
- With this information, it automatically generates a daily schedule Other features:
- “Daily standup” - App checks in each day and you input your progress
- Automatically adjusts schedule according to progress made
- Creates aesthetic graphs depicting project progress for motivation
- Ability to invite other users to your project
- Learned about React through this tutorial.
- Learned more about the MaterialUI and Bootstrap libraries and decided to go with MaterialUI! Good choice there
- Developed our home page after learning about React and MateriaUI and how they work together through these links. React Crash Course and MaterialUI.
- Once the home page was coded and setup, delegated different pages amongst the two of us (Lac and Abhitej) and then worked on the Calendar, The Wall and the Dashboard.
- An important library we used was FullCalendar, to get the current date and calendar view.
- Then we made everything look a bit prettier across different browser and dimension settings!
- Learned how to use Firebase Firestore to store data
- Learned to use the axios library to transfer information between the app and database
- Created the algorithm to automatically schedule tasks based on task complexity
- Integrated the database with the app to give it full functionality
- Calculate the duration of the project
- Traverse all of the tasks in the project and add all of their complexities together
- For every task, calculate the percentage of time needed by dividing its complexity by the project complexity
- Set the task deadline
- Use machine learning to predict how long a task will take the user, based on their previous experience
- E.g. If they estimated a task would take 5 days in the past, and it actually takes 8 days, the next time the user estimates 5 days, the app will schedule that task to take 8 days
- Could make the model more complex by incorporating the category of the task (e.g. coding tasks tend to take longer than writing tasks)
- Allow users to tailor the app towards different types of projects
- Examples:
- For a software development project, you have the ability integrate with GitHub
- For a presentation project, you have the ability to record yourself presenting, time yourself, compare your presentation to earlier recordings
- For a school project, you have the ability to keep track of grades and the grade you need on the next project for an A
- Examples:
- Continue tailoring the app more specifically to coding
- Automatically analyzes code quality and slows down the schedule if it’s determined to be low
- Integrate with GitHub using the GitHub API
- Social feature that allows you to show off your progress to other users of the app
- Create a mobile app
- To give push notifications about the project and upcoming deadlines.
- To stay on track with small tasks and submissions.
- Keep track of team's progress and assigned work!
- Git Bash
- Necessary for working with command line Git on a Windows computer
- Figma
- Free UX design tool that is completely web-based
- Visual Studio Code
- Useful IDE with lots of plugins to make your development easier
Look through all of these resources at the beginning of the semester!
- How to be successful in ACM Projects
- Git Cheat Sheet
- Getting started with React
- Comparing top databases
Project Manager:
• Cady Baltz - GitHub | LinkedIn
Industry Mentor:
• Alex Dometrius - LinkedIn
Participants:
• Abhitej Arora - Frontend - GitHub | LinkedIn
• Lac Ngo - Frontend - GitHub | LinkedIn
• Te'a Washington - Backend - GitHub | LinkedIn
• Anh Nguyen - Backend - GitHub | LinkedIn