Milestone 1 Project Plan - bounswe/bounswe2023group4 GitHub Wiki

Project Name:

Prediction Polls - bounswe2023group4

Objective:

The objective of our project is to develop a prediction polls application that enables users to vote on opened polls, earn credit points upon winning predictions, and enjoy using the application for entertainment purposes.

Scope:

Our application will include user registration, user profiles, polls, future poll interaction, poll creation, poll search bar, voting, moderation, leaderboard, and sharing leaderboard.

Timeline:

Our project will take approximately 4 months to complete, starting from 09/03/2023 to approximately June 2024.

Resources:

Our project team consists of 9 members, all of whom are 3rd year computer engineering students at Bogazici University. We divide tasks based on our knowledge and skills and have weekly planning meetings to ensure progress.

Tasks:

Issues

Risks:

We need to consider potential risks such as technical issues, project delays, and resource constraints.

  • Late delivery of software.
  • Less reuse than planned.
  • Changes in requirements.
  • Poor time management.
  • Leaving of a member from group.

Dependencies:

We need to consider dependencies between tasks to ensure timely completion of the project. We should also plan for contingencies in case of unexpected delays or issues. dependencies

Future Plans:

Implementation Issues:

This week, we'll concentrate on potential problems that can occur throughout the project's implementation phase and the team-based approaches we can use to successfully handle them. It is critical to recognize that the implementation phase may bring about a variety of difficulties that could have an impact on how well our project is carried out. To guarantee that we complete the project's goals within the allotted timeframe, it is essential that we work as a team to effectively identify, mitigate, and resolve these problems.

Determining Teams:

This week, the project will undergo a comprehensive review process to determine the optimal subteams required for its successful implementation. The selection of these subteams will be based on careful consideration of the project's objectives, scope, and complexity, among other factors. Team members will be assigned to the subteams based on their skill sets, experience, and expertise once the subteams have been established. This approach will be carried out with the great care to make sure that the teams are made up of people who have the necessary expertise and experience to do their assigned responsibilities successfully.

Developing Web Application & API:

This week, our team will concentrate on creating the essential backend and API parts of our application. Our main goal is to make sure that all requests made by the frontend are successfully processed by the backend and that there is seamless communication between the two systems. To do this, we will concentrate our efforts on designing, creating, and testing the backend and API to make sure they are reliable and effective. With the help of this procedure, we hope to lay a solid foundation for our application that will make it possible for us to add and develop new features in the future.

Quality Assurance:

Our team will be concentrating on the application of unit tests and how we can create our code in a testable manner during this week. The main goal of this effort is to find and fix any defects or faults in the prior codebase in order to raise the quality and reliability of our program. To enable us to create efficient unit tests, we will be trying to make our code more readable and testable. By doing this, we hope to make sure that our application operates as we would expect it to and complies with the specifications. By this procedure, we will also create a codebase that is more stable and expandable, allowing us to create new features and functionalities in the future with more efficiency.

Dockerization & Deployment:

This week, we'll dive into using Docker and deploying a backend project, which will lead to the creation of a fully operational product. We can guarantee constant performance across a range of platforms by using Docker, and the deployment of a backend project will enable smooth integration and operation. Ultimately, the objective is to produce a high-quality product that can be confidently made available to the general public.

Final Report:

This week, we will be concluding the development of our practical application and conducting a comprehensive review of all the objectives and processes that we have learned throughout our project development process, as well as the knowledge we have acquired from our lectures.