Software Engineering Group Project: “EcoCharge Fleet Dashboa…

Assignment due Monday, March 30, 2026 by 11:59pm

Software Engineering Group Project: “EcoCharge Fleet Dashboard

Course: ICS 432 – Software Engineering Context: Electric Vehicle (EV) Technology & Industry Team Size: 3-4 students

  1. Project Vision & Context

Your team are software engineers at “EcoCharge Innovations.” Your task is to build a prototype for a web-based dashboard that allows managers to monitor a small fleet of electric vehicles.

The goal is to demonstrate core functionality and prove the concept, focusing on clean code, collaboration, and ethical foresight, rather than building a fully-featured product.

  1. Simplified Project Scope & Core Features

Develop a simple web application with the following two core features:

  • Feature A: Static Fleet Overview
    • A single web page that displays a list of 5-10 pre-defined electric vehicles.
    • For each vehicle, display: Vehicle ID, Model, Current Battery Percentage (a static value between 0-100%), and Status (e.g., “Available”, “Charging”, “On Trip).
  • Feature B: Basic Charging Cost Calculator
    • A simple form where a user can select a vehicle and input a “charging duration” in hours.
    • The application calculates and displays the estimated cost using a fixed formula: Cost = (Charging Duration * 7.5 kW * $0.15 per kWh). (Use these fixed values for simplicity).
  1. Learning Objectives & Deliverables

Deliverable 1: Project Setup & Collaboration

  • Task: Set up a GitLab repository and demonstrate a collaborative workflow.
  • Artifacts to Submit:
1. URL to your GitLab repository.2. Evidence of Collaboration: Create at least two feature branches (e.g., feature/fleet-overview, feature/cost-calculator) and merge them via Merge Requests.3. Meaningful Commits: Use clear commit messages (e.g., feat: add basic HTML structure for dashboard, fix: correct calculation formula in calculator).

Deliverable 2: Agile Sprint Execution

Task: Use a simplified Scrum process to manage your 2-week sprint.”

Artifacts to Submit:

1.** A Product Backlog:** A simple list of user stories in a text file or spreadsheet. – Example: “As a manager, I want to see a list of all EVs and their battery levels so I can know which ones are ready to use.”

  1. A Sprint Plan: A list of tasks for the two features, assigned to team members.
  2. **A Sprint Retrospective: **A short document (150 words) submitted at the end. What went well? What would you do differently next time?

Deliverable 3: Testing & Code Quality

Task: Write tests for the most critical logic in your application.

Artifacts to Submit:

  1. Unit Tests: Write tests only for the cost calculation function.
    • Test with positive hours.
    • Test that it fails gracefully with negative hours or non-numeric input.
  2. Code Review: Include a comment in your code (e.g., in ) where you describe one potential bug you identified and prevented through code or testing.

Deliverable 4: Security Risk Assessment

Task: Conduct a basic security analysis of your web application.

Artifacts to Submit:

  1. A Security Memo (200 words): Identify two potential security vulnerabilities relevant to your application. For each, provide:
    • The Vulnerability: Name and briefly describe it (e.g., “Cross-Site Scripting (XSS)” or “Insecure Data Handling”).
    • Potential Impact: What could an attacker do? (e.g., “Steal user session data,” “Deface the website”).
    • Mitigation Strategy: One practical step you would take to fix it (e.g., “Sanitize all user inputs before displaying them,” “Use HTTPS to serve the application).
  • Example Vulnerability: “If we connected a real database, storing passwords in plaintext would be a vulnerability. An attacker could steal them. We would mitigate this by always hashing passwords using a strong algorithm like bcrypt.

Deliverable 5: Ethical Considerations

Task: Think proactively about the ethical implications of this technology.

Artifacts to Submit:

  1. A Short Memo (200 words): Using the ACM Code of Ethics, answer one of the following:
    • Privacy: The final product would use real vehicle location data. What is one key privacy concern, and what is one mitigation you would propose?
    • Bias: If the “Status” of a vehicle was used to determine driver performance bonuses, how could this simple system be unfair?

**Deliverable 6: **Final Submission & Demo

Artifacts to Submit:

  1. Source Code in your GitLab main branch.
  2. A file with instructions on how to run your application.
  3. A 5-minute screen recording demonstrating the two working features and a brief walkthrough of your GitLab repository showing your merge requests.

Technical Stack Suggestions

-** Frontend** (Recommended): Use simple HTML, CSS, and JavaScript. No complex frameworks are required. This keeps the focus on logic and collaboration, not on learning a new framework.

  • Alternative (If confident): A very basic Python Flask or Node.js/Express app to serve the HTML and handle the calculation logic.
  • Data: Use a hardcoded JavaScript array or a simple JSON file to store the static fleet data.

Grading Rubric (Summary)

Category | Weight | Simplified Criteria

Collaborative Workflow | 20% | Functional GitLab repo with feature branches and merge requests. Clear commit history.

Agile Process | 15% | Evidence of planning (backlog, task assignments) and reflection (retrospective).

Functionality & Testing | 25% | Both features work correctly. Basic unit tests for the calculator exist and pass.

Security Assessment | 15% | Memo identifies two relevant security risks with clear impacts and plausible mitigations.

Ethical Analysis | 10% | Memo identifies a relevant ethical concern and proposes a plausible mitigation.

Final Demo & Docs 15% | Application runs, demo video is clear, and README provides setup instructions.

WRITE MY PAPER

Comments

Leave a Reply