Sprint 3 Objectives Cheklist
- My Personal Journey
- Project Description
- Collaboration( With Evidence )
- My Contribution
- Effective Planning
- Checklist:
My Personal Journey
After completing sprint 2, my understanding of being able to code in Python and Javascript, as well as designing user interfaces with HTML and CSS had progressed greatly. However, me 1 month ago did not understand the practical appplication of these skills and tools, Sprint 3 has taught me a lot about full stack development and how a python based backend which contains a database from which we can retrieve and store data, can interact with a frontend where users can create posts and vote on a social media site. I personally think, Sprint 3 has been the most important part of my coding journey so far, as it has taught me lots about frontend and backend coding, as well as collaboration, and truly shown me the importance of having effective planning and problem-solving skills.
Project Description
The main purpose of my group’s social media page is to create an environment where differen users can debate about popular Internet arguments, such as “Milk or Cereal First”. Users can switch between different chat rooms and arguments to chosoe their side, “Milk First” or “Cereal First” and debate against other users. They can also upvote and downvote posts of other users.
Collaboration( With Evidence )
As an overview, my team focused on implementing AGILE methodology roles in our work, as well as the way we iteratively coded. Although roles began to transform as we each truly found our strength and passion in the overall process, we all tried our best to check each others work. 1-2 of us were focusing on Backend and testing, and we had our Scrum Master and Integrator roles which helped us manage the work and integrate it. As well as frontend coders who came up with several prototypes, but as a whole the functionality and how the code works in order to achieve its purpose had a combined contribution.
I think our greatest example of collaboration is how we split roles, as a backend coder Anvay helped our team significantly in creating a new API, as well as adding functionality to the website, coupling his skills, as well as my skill in creativity and understanding the overall objective and purpose we were able to engineer a backend that interacts with the frontend to achieve our goals, along with working with Pranav and Rayhaan to sort out issues in the frontend in order to get the backend and frontend working in harmony.
Other teams: Initally figuring out the frontend and backend was quite the struggle, but as soon as one of us made an initial backend break through, we quickly helped other groups in our class to help gain and understanding and figure out how to move forward.
| Kiruthic | Anvay | Pranav | Rayhaan | Yuva |
|---|---|---|---|---|
| Integrator, Frontend Coder, Backend Testing, Helped in Ideation | Scrum Master, Backend Coder, and Backend Tester | Frontend Coder, and documented planning | Frontend Coder | Documented Planning and Frontend Coder |
My Contribution
As the integrator of the team, it was my responsibility and job to make sure to make pull requests and be checking for any possible merge issues or conflicts. I also worked with the integrators of other groups in order to make sure that the organization of our class period’s page made sense, and had a proper hotbar and navigation. I also worked in the frontend with my peers in order to help implement styling features for the buttons and color gradients that make the site more visually pleasing. In addition, I played a large role in the original prototype and determining the layout of the website. I also worked to help test the backend and make sure that it was functional by trying out all sorts of different scenarios and test cases.
Specifically: The sidebar, the buttons and overall frontend layout, css styling, backend ideas, and backend testing.
Effective Planning
My team and I took advantage of Github Issues for planning, and made sure to put down our thought in an organized manner, and they also served as guidelines for our project. Initial Executive Summary / Ideation Process
Our entire process of iterative coding and keeping in mind the AGILE Scrum methods, we first made our plan shown in the Executive Summary, with examples of what we aspired our frontend to look like. Then we checked our work, and gained feedback from other groups such as Weston’s group from my class, to gain another perspective and make sure our idea was foolproof.
Checklist:
1. Tools Mastery
We have used various tools such as jupyter notebooks, Visual Studio Code, Github, Postman API. My team and I have used Postman API to our advantage in order to test the backend that we developed, even when sometimes our frontend did not have all the features in order to test, Postman API allowed us to send requests and understand what errors were occuring in the backend, even without a fully functional frontend.
2. Pogramming Skills
I have made use of my Markdown/HTML and CSS skills in making the frontend of the website visually pleasing with color gradients and interactive buttons, as well as using javascript to create the chatrooms and User Interface where people can pick their sides of the argument. I have also assisted in the logic and some brief coding in the Python backend.
3. College Board Requirements
Our website makes use of and completes several college board requirements often found in the Performance Task, such as usage of data. The code we have made stores data such as the username, posts, and votes in a database managed by the backend, and we use and manipulate this data to display on the frontend to all users in order to read and argue, almost as in real life where you can interact with others.
Innovation
I think the best show of innovation we had in our social media site, is the intriguing concept of internet debates, which shows a unique take and platform where people can debate over simple topics they are passionate about, and even connect over others with similar and different opinions on debates such as Cats vs. Dogs. By fostering such a community, users can learn about other perspectives and be more open-minded as well as sharpen their argumentative skills.
Understanding What is Happening
The basis of our website, and how users can interact is 2 features. The first being posts, in which inputs are taken in the form of a post or debate, and stored in the data base as well as displayed on the site for all users to see, and a vote functionality in which an upvote or downvote is taken as an input for each post, and can also be stored in the database and displayed on the website, as a way of interaction with one another.
Frontend vs. Backend Demo
Night at the Museum
Overview:
We first introduced our idea of internet debates, and its purpose, then gave a demo of how the site worked and its functionality. Then we allowed listeners to also demo the website themselves, and ask questions which we answered, and finally allowed them to leave us feedback and thanked them for their support. The key features we presented include showcasing our different chatrooms, and the feature in which people can choose a side on a debate, as well as the voting functionality.
Feedback:
Many people left us positive comments on the custom vote API, and the user friendly and aesthetically pleasing interface. Some areas for growth that one parent pointed out was methods on how we could pick or randomize the prompt or specific debate for the day.
Questions:
Q: What is the purpose? A: The purpose of this website is to allow others to interact and debate about popular arguments.
Q: How did you use API’s in this? A: We make use of the different, section, group, channel, and post API’s to store user’s posts, and organize them in the different channels we have for different debates, as well as a specific vote API to store and track upvotes and downvotes on other user’s posts.
Demonstration
We demonstrated our website from the viewpoint of both as a creator who had a vision or goal for the website, as well as the different features a user would have and different unique ways they could take advantage of the website for their debates. The Audience was very engaged with our website, and especially interested in the cool debate topics we had.
Reflections:
I think our project did a great job at accomplishing our goal and is completely functional, we can improve further by figuring out a way to easily change the debate prompts each day, maybe with the use of AI, as well as having more advanced voting features and statistics for users to see.
The Feedback I left:
I respect and admire that people have put hard work into various projects and I helped give 4 other groups constructive criticism, and also ventured beyond to other non Computer Science artworks. There were other comments I also left in Github Issues.
