The Cargo Application is a web-based system that allows users to manage and track cargo shipments and customers. It provides features for adding, updating, and deleting cargo shipments and customers.
- .NET Framework 4.8
- ASP.NET MVC 5
- Entity Framework 6
- SQL Server
- Bootstrap (for styling)
- Visual Studio
- SQL Server
- Clone the repository or download the ZIP file.
- Open the solution file (CargoApp.sln) in Visual Studio.
- In the Package Manager Console run the following command
Update-Package -Reinstall
- Open the Web.config file in the CargoApp project.
- Find the connection string named "CargoApp" and change
Data Source=localhost
with your SQL Server information.
<connectionStrings>
<add name="CargoApp" connectionString="Data Source=localhost;Initial Catalog=CargoDB;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
- Run the application in Visual Studio.
- Open your web browser and navigate to https://localhost:44306 to access the Cargo Application.
- Default username and password is admin.
- Login: Users can log in with the username and password (default username: admin, password: admin).
- Cargo Management: Users can view, add, update, and delete cargo shipments.
- Customer Management: Users can view, add, update, and delete customer information.
- Status: Cargo shipments can have one of the following statuses: "In Transit," "Delivered," or "Cancelled."
- Last Update: Cargo shipments are automatically timestamped with the last update date and time.
-
Product Categorization: Enhancing the Cargo model by adding a "Product" table to provide more detailed information about the cargo items. This table can include fields like estimated delivery time, category, dimensions, priority or frangibility.
-
User Registration and Authentication: Creating a user registration page so that new users can sign up for an account. Implementing proper authentication mechanisms like using hashed passwords, JWT or ASP.NET Identity.
-
User Roles and Permissions: Implementing a role-based access control system to manage different user roles (e.g., admin, manager, employee or customer) with different permissions for each role. This way, user can restrict access to certain functionalities based on roles.
-
Data Validation and Error Handling: Improving data validation and error handling to ensure that the application handles user input and prevents invalid data from being stored.
-
Testing: Writing tests to ensure that critical functionalities are working as expected and to catch any potential bugs early in the development process.
-
Responsive Design: Making the application responsive so that it adapts to different screen sizes and devices, providing a consistency across desktops, tablets, and mobile phones.
This project is licensed under the MIT License - see the LICENSE file for details.