Iteration 1: Due 03 18 @ 11:59PM - blively2/CS6232-SofaSoGood GitHub Wiki

Iteration 1: Overview

Database and Application Setup

  • Create the Database:

    • Action: Establish a database named CS6232-g#, where # reflects our group number.
    • Requirement: Before populating with test data, ensure the database design is error-free. Reach out if assistance is needed.
  • Begin Application Development:

    • Focus: Implement the application based on prioritized user stories, starting with key features for employees.
    • Tools: Utilize Visual Studio, dividing tasks to cover view, model, controller, and data access layers.

GitHub Repository Management:

  • Commit Regularly:
    • Strategy: Maintain an organized repository with consistent commits. Structure the solution with clear folders (Controller, View, Model, DAL, DB scripts).
    • Collaboration: Ensure all team members, including the instructor ([email protected] or lyanguwg), are collaborators.

Feature Development for This Iteration:

  1. Employee Authentication:

    • Implement login and logout capabilities. Initially, storing passwords as plain text is acceptable, with a move to hashed passwords planned for subsequent iterations.
  2. User Interface Consistency:

    • Display the currently logged-in user's name and username across all application views.
  3. Customer Management Features:

    • Registration: Enable employees to register customers with comprehensive field validation (e.g., phone number formats).
    • Editing: Allow modification of customer records, ensuring validation checks are in place.
    • Searching: Facilitate customer searches using multiple criteria (ID, phone number, or full name).

Documentation and Submissions:

  • Read_me.txt File:
    • Contents: Include usernames/passwords for test logins, a status report on any unfinished features, and a directory to the DB script.
  • GitHub Tagging:
    • Use a clear tag (e.g., iteration 1) for the final commit to indicate the submission point for grading.
  • Member Contribution Evaluation:
    • On Moodle, detail each member's contributions and the percentage of work done, with an option to recommend equal grading.

Task Distribution and Team Roles:

  • Assignments by Functionality:
    • Distribute tasks among team members based on the functionality, promoting comprehensive involvement with the project's various aspects.
  • Scrum Practices:
    • Continue applying Agile principles, ensuring regular team meetings and updates to manage the project efficiently.

Additional Guidance:

  • Security Practices:
    • Plan for the enhancement of security measures, such as implementing hashed passwords in future iterations.
  • Collaborate:
    • Maintain open lines of communication within the team and with the instructor for clarifications or troubleshooting.