Open AniCricKet opened 10 months ago
Things Done Well:
Areas for Improvement:
Score: 0.93/1
There needs to be more focus on sorting and abstraction in the project
Sorting and Abstraction Revisions (Input from Mort and ChatGPT):
Car Classes:
Car
and then derive specific car types (sedans, SUVs, sports cars) from it. This can promote code reusability and maintainability.Sorting Algorithm:
public interface CarSortService {
List<Car> sortCars(List<Car> cars, SortCriteria criteria);
}
SortCriteria
to represent various sorting options.Tables for Each Company:
Car
object as input. This way, you can easily extend it for different car types.// CarDetailsComponent.jsx
const CarDetailsComponent = ({ car }) => {
// Render car details based on the car object
}
Communication:
// ApiClient.js
class ApiClient {
static async fetchCars() {
// Handle the API call to retrieve cars
}
// Other API methods...
}
Implement a generic search and filter functionality that allows users to search for cars based on various criteria (e.g., brand, type) on the frontend.
Utilize dependency injection in the backend for services such as sorting and database access to make the components loosely coupled.
Explore design patterns like Strategy Pattern for sorting to make it more extensible.
Consider incorporating a frontend state management library (e.g., Redux for React) to manage the state of sorting preferences and other user interactions.
These modifications should enhance the focus on sorting and abstraction in your project, making the codebase more modular and adaptable to changes.
Overview
For this mini-project, our team has decided to build a project focused on cars, specifically the electric cars offered by known brands such as BMW, Chevrolet, Tesla, and Lucid as we move into a more alternative fuel source for our automobiles.
Build a virtual car website where users can explore different types of cars, view details, and “customize” their virtual cars. The application will have both frontend and backend components.
Backend
Car
class.Frontend
Integration
Vehicles
BMW: i4, i5, i7, and iX Chevrolet: Bolt EV, Bolt EUV, Blazer EV, Equinox EV, Silverado EV Tesla: Cybertruck, , Model S, Model 3, Model X, Model Y, and Roadster Lucid: Air, Air Sapphire, and Gravity
Frontend Wireframe This will be updated throughout the duration of the project to assist our frontend developer complete the task accurately