Git Product home page Git Product logo

inet-monday-fall2023-team-2's Introduction

Symbi

Symbi is an application that allows NYU students to learn new skills, accomplish tasks, and try new activities with others in their community. We challenge the idea that valued exchanges are necessary for growth or accomplishment, focusing on symbiotic relationships to form a healthier student community.

Docs

For guidance on development, deployment, and administration, see our User Documentation. For an in-depth discussion of the Symbi design and architecture, see our wiki. For the original design motivation, see our design doc.

Contributing

See contributing guidelines for more details.

Status

Service Master Develop
Build Status Build Build
Code Coverage Coverage Status Coverage Status

Authors

Developed By: Ashley Goluoglu, Louis Po, Maharshi Joshi, Tarik Kassa, Utsav Oza

Course: CS-GY 6063 Practical Software Engineering I New York University, Professor Gennadiy Civil

inet-monday-fall2023-team-2's People

Contributors

utsavoza avatar agoluoglu avatar maharshiaj avatar louispo0603 avatar mj3128 avatar ttk14 avatar soester10 avatar

Stargazers

 avatar

Watchers

James Cloos avatar Gennadiy Civil avatar

inet-monday-fall2023-team-2's Issues

User Story 1.3: Reset Password

As a user, I want to reset my password in case I forget it.

Acceptance Criteria:

  • Users can request a password reset.
  • Users receive a password reset link to their NYU email.
  • Users can create a new password using the reset link.

User Story 1.2: Login

As an existing user, I want to log in so that I can access my account and use the app.

Acceptance Criteria:

  • Users can log in using their NYU email.
  • Users receive an error message for incorrect email or password.
  • Users can access the app’s features upon successful login.

Create Sequence/UML Diagrams for High Level Design

  • Create & Update Activity Request Posts - Maharshi (Epic 2: Post Creation & Management)
  • Create & Update Connections with Other Users - Louis (Epic 5: User Interactions & Connections)
  • Scroll Home Page Feed of Activity Request Posts - Tarik (Epic 3: The Home Page)
  • Search For & Discover Posts & Categories - Ashley (Epic 4: The Discovery Page)
  • Interact in Posts’ Comment Sections - Utsav (Epic 5: User Interactions & Connections)
  • Privately Chat with Other Users - Utsav (Epic 5: User Interactions & Connections)

Note from Professor: Do not make diagrams of User Account Registration

Sprint Goal: Sprint 5: Oct 16 - Oct 23, 2023

  • Release demo version v-sprint4 @agoluoglu
  • Agree on url naming (create_post_view, create_post_object) @agoluoglu
  • Agree on pk vs. id-> id @agoluoglu
  • Move Home page out of Posts app and into Symbi @agoluoglu
  • Create Social User app @agoluoglu
  • Social User Model @agoluoglu
  • Connection Model @agoluoglu
  • Profile Page View in Symbi @agoluoglu
  • Profile Page Template (display Social User info, button tabs for Active, Archived, and Drafts) @MJ3128
  • Ability to view Active posts on Profile page @utsavoza
  • Ability to view Archived posts on Profile page @louispo0603 -> moved to Sprint 6
  • Ability to view Drafts on Profile page @ttk14

Sprint Goal: Sprint: Oct 9 - Oct 16, 2023

  • New project @MJ3128
  • Project has a posts application @MJ3128
  • Posts application has ActivityPost model with fields for title, description, poster, status, timestamp, and tags @MJ3128
  • Posts application has Comment model with fields for related post, poster, text, and timestamp @MJ3128
  • Posts application has ActivityTag model with name field @MJ3128
  • Home page @agoluoglu
  • Home page sees list of 5 most recent posts based on timestamp @agoluoglu
  • Home page only sees posts with status "posted" (not draft or archived) @agoluoglu
  • Each post in home page is clickable @agoluoglu
  • Clicking post from home page takes to post details page @agoluoglu
  • Post details page shows post title and description @agoluoglu
  • From home page, can click button to make a new post @agoluoglu
  • When creating a new post, can enter title and description @agoluoglu
  • When creating a new post, can choose to save as draft or post (two buttons to submit form) @agoluoglu
  • Submitting a create post form redirects to the home page @agoluoglu
  • Ability to Edit Posts
  • Ability to Archive Posts
  • Ability to Delete Posts

User Story 1.1: Create Account

As a new user, I want to register so that I can create an account and use the app.

Acceptance Criteria:

  • Users can enter their details (NYU email, password) to create a new account.
  • Users receive confirmation upon successful registration.
  • Registered users can log in immediately after registration.
  • Users can receive a message if an account already exists with that NYU email, prompting them to login or reset their account.

As a user, I want to create and update connections with other students so that I can see their posts and become friends with them.

As a user, I want to create and update connections with other students so that I can see their posts and become friends with them.

Acceptance criteria:

  • Users can send connection requests to other users.
  • Users receive notifications for incoming connection requests.
  • Users can accept or decline connection requests.
  • Users can view and manage their own connections on their Profile page.
  • Posts from other users that a user is connected with show up on the Home page feed.

Write Sprint 2 Demo Presentation Script

Louis
Explain how this Sprint has moved the team project forward.
→ The goal of this sprint was to determine and record all of the Epics and some user stories for our project. As a team, we worked together to determine Epics based on our MVP, MLP, and Nice-To-Have features, keeping our user experience in mind. For the User Account Creation & Management Epic, we worked together to think through all of the stories any potential user persona could have in relation to these features. This sprint has moved the project forward by giving us concrete starting points for the development process of each component of our application.
→ ** SHOW THE SPRINT CARD IN ZENHUB **

What was good?
Everyone contributed to the user stories, so we have a really great starting point for the planning of the development of our project. Everyone came in with a unique perspective to contribute more stories and details.
What was bad?
This week the team had a lot of scheduling conflicts that resulted in very limited windows where everyone was available to collaborate together, so most work was done asynchronously and the assignment took longer to complete as a result.
Ideas
While 15 minute daily updates are easy to manage, time to actually get communal work done is difficult to find. Potentially, each week after the demo can discuss and schedule a 1 hour meeting session for sometime in the week where everyone can work together to get a big chunk of sprint work done.
TO-DO Next Sprint
Produce High Level Design, have enough user stories with Activity Diagrams to start coding for next sprint, modify the Figma diagram to align with more finalized project design

Maharshi
Explain: High Level Context Diagram and Epics
→ ** SHOW HIGH LEVEL CONTEXT DIAGRAM FROM GITHUB WIKI **
→ ** SHOW EPIC CARDS FROM ZENHUB **

Explain: User Stories within One Epic
→ ** QUICKLY SHOW USER STORIES IN WIKI FOR ACCOUNT CREATION & MANAGEMENT **
→ ** SHOW USER STORY CARDS FOR ACCOUNT CREATION & MANAGEMENT IN ZENHUB **

Explain: “Did the team achieve the Sprint goal?”
Yes, ** SHOW IN ZENHUB ** looking at our ZenHub, we have all of our Epics laid out, along with User Story cards for Account Creation & Management. We feel confident that the user stories for this Epic are solid and will not have to be edited further. This means we can start working on a sound design in the next sprint.

User Story 1.4: Change Password

As a user, I want to change my password.

Acceptance Criteria:

  • Users can click to change their password from the Settings section in their Profile page.
  • Users can enter a new password.
  • Users log in using this new password immediately.

Write Sprint 3 Demo Presentation Script

Presentation Sequence:
Scrum Master: Explain the High Level Design. Talk about system components identified during high level design
PO: Explain how this Sprint moves the team project forward
PO: Explain the stories groomed on the product backlog and why they have been prioritized for development. The question to answer is “how do these stories move the project forward?”
PO: Show Product Backlog on ZenHub
PO: Identify which stories will go into the next Sprint’s backlog. We expect these stories to be on the top of the backlog
The presentation is evaluated both on content and following the presentation script.

User Story 1.7: Manage Profile

As a user, I want to create and update the public profile associated with my account so that I can share my interests and preferences with other users.

Acceptance Criteria:
Users can add profile details such as name, major, pronouns, and interested tags upon account creation.
Users can click a button to modify profile details at any time.
Users can click a button to save profile modifications.
Profile modifications are updated and immediately visible to all users.
Other users can view a user's profile by clicking on their name, tag, or icon (depending on the feature they are interacting with).

User Story 1.5: Delete Account

As a user, I want to delete my account.

Acceptance Criteria:

  • Users can request from the Settings section in their Profile page that their account be deleted.
  • The deleted profile and its posts are immediately removed from the application.
  • The NYU email of the user that deleted their account can now be used to create a new account.

Account Management

As a user I want to be able to manage my account, so I can access the application

As a user, I want to delete my post.

Acceptance Criteria:

  • Users can delete their existing posts.
  • Users receive confirmation upon successful post deletion.
  • The post is removed immediately from the discovery and home pages of other users.

User Story 1.6: Manage Account Settings

As a user, I want to manage my account settings so that I can customize my experience with the application.

Acceptance Criteria:
Users can manage notification settings.

Create Templates for Home, Page Details, and Create Post

Home Template (new post button, display recent posts (if status == posted), clickable titles take to details page)
Post Details Template (display post title and description)
Create Post Template (form with post and save as draft functionality)

As a user, I want to browse through categories of posts tailored to my profile on my Discovery page so that I can explore a wider range of posts than my Home page offers.

As a user, I want to browse through categories of posts tailored to my profile on my Discovery page so that I can explore a wider range of posts than my Home page offers.

Acceptance Criteria:

  • Users can view recommended categories (tags, interests, etc.) on their Discovery page.
  • Recommended categories on the Discovery page are generated based on the user's profile information such as tagged interests as well as the app's most popular and most recent posts.
  • Users can click on a category to view a feed of posts in that category.
  • Posts are displayed with relevant details such as activity, location, time, and user.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.