-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Study Website
Overview
Our team aims to create a site where users can interact with student "tutors" who specialize in one specific class and can help with inquiries that they may have in that specific class for a specific topic. Users can also interact with each other by posting to a shared workspace to ask and share any problems they might have with their classes.
Links
Frontend: https://github.com/alexgstf/studybuddy_frontend
Backend: https://github.com/alexgstf/studybuddy_backend
Kanban Board: Study Buddy Kanban Board (view)
Issues:
Home Page
The home page will be focused on navigation links by logging in as a specific user. The options are more limited before logging in and become more specific for the user as he/she logs in.
Shared Posting Space
Users can ask/teach and collaborate about classes and questions that they might have in their specific classes.
Forums
Users can collaborate through a posting space and can message the "tutors" on the questions they might have and can also teach others through this shared posting space.
Roles
Trio 1 ( Alex Gustaf, Marti Jorba, Darsh Darsh) - Backend Work (Handling Data, Updating databases)
- Alex (Scrum Master) - Database Changes and Updates
- Darsh (Scrummer 1) - API which can connect some data from known tutoring websites (Khan Academy)
- Marti (Scrummer 2) - User Authentication and Login Data for Users
Trio 2 / Frontend Design, Site Navigation, Posting Questions, Answering Questions, Site Moderation and Post Filtering
- Alex Rubio (assistant scrum master) - Kanban Board, Site Moderation, Filtering posts into different subjects
- Leon Fu (scrummer 3) - Site Aesthetics with Frontend Design, creating menus and new channels for different subjects, responding to questions
- Travis Callow (scrummer 4) - Tracks site registrations, responds to site questions, creates new channels for filtering different types of questions, and site moderation
Reward system implemented into the front end, with tiers next to good tutors to signify good versus mediocore tutors.
Rating system from 1 to 5 stars for each answers, and responders on the website with many stars will increase in tier and have higher status on the website.
Next Steps
- Updating Kanban Board
- Appealing to CPT requirements
- Frontend Work and site development
- Connect API's to information needed.
- Connections to Backend Work and updating databases
- Update Users and Login data
- Finish Website development by updating any last updates.
- Testing
- Finish
| Scrum | User Story | Steps |
|---|---|---|
| User Story 1 - Alex | As a user, I want to collaborate with classmates by sharing and accessing useful information and utilizing a shared posting space for contributions. | - Create several sections for subjects and add to the database, pages for each on the index. - Implement a unique chatroom for each section that saves sent and received messages (fetch and post). - Add more interaction to the chatroom, such as replying to posts, threads from messages, editing/deleting messages. |
| User Story 2 - Darsh | As a user, I want to access a fun fact section on the homepage and learn something new with a single button click. | - Create fact generator on the front page that shows a unique fact every time page is loaded. - Source facts from external sites/APIs to provide vast database of facts. - Allow users to refresh with a button manually click to view new facts. |
| User Story 3 - Leon | As a user, I want to use a task manager to organize assignments, tests, and deadlines and prioritize tasks to avoid last-minute stress. | - Let users add new tasks to their list and delete them, and save changes to the backend when load/exit page. - Options for due dates, subject, description, etc. It can be edited and changed as necessary. - Award users experience and rewards for completing tasks. |
| User Story 4 - Alejandro | As a user, I want to be able to find and save study materials in a resource corner and supplement my classroom learning with additional helpful resources from the site. | - Create a "Resource Corner" page for uploading and accessing study materials (HTML). - Style the page and layout (CSS). - Use JavaScript to implement saving and bookmarking study materials. |
| User Story 5 - Marti | As a user, I want to access a dynamic page through the login to unlock new features and gain access to enhanced functionality and tools on the page. | - Use HTML to design a login form with username/email and password fields, and a submit button (similar to flocker login). - Apply CSS to make the login page user-friendly and responsive across devices. - Use JavaScript to handle user login, validate credentials, and store the login state by working the backend and authenticating users through postman. - Use JavaScript to dynamically show new features or content when a user is logged in. |
| User Story 6 - Travis | As a user, I want to test my knowledge on school subjects like math and view my performance through correct/incorrect answers to assess exam readiness. | - Create a quiz interface with questions and answers (HTML). - Style the quiz layout (CSS). - Use JavaScript to handle question navigation, scoring, and showing correct/incorrect answers. |
CPT Requirements Checklist
- Instructions for input from one of the following
- the user
- a device
- an online data stream
- a file
We will have input from the user when they access our quiz resources or upload messages/ask questions on forums or chatrooms.
- Use of at least one list (or other collection type) to represent a collection of data that is stored and used to manage program complexity and help fulfill the program’s purpose
We will store user data relating to user's personalized experience (subjects, tasks, messages) in designated sections of backend database. This will help manage program complexity by making storage of information easier to access and store. Helps fulfill the purpose of getting the saved data and making it easy to search for what specific data is needed.
At least one procedure that contributes to the program’s intended purpose, where you have defined:
- the procedures name: Fetching message data when accessing a chatroom and posting to frontend
- the return type: string, list
- one or more parameters: accessed section, recent messages
- An algorithm that includes sequencing, selection, and iteration that is in the body of the selected procedure: iterating through the fetched messages and posting to the frontend
- Calls to your student-developed procedure: use fetch method to retrieve saved messages
- Instructions for output (tactile, audible, visual, or textual) based on input and program functionality: give instructions based on selected chatroom/section and time, recent messages so correct information is retrieved