Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/furkanbaran/towfinder
TowFinder is a C# project designed to help users find nearby tow operators based on city and district selection. The project utilizes ASP.NET Core 8.0 and Entity Framework Core for a robust and scalable application. The application follows the MVC (Model-View-Controller) pattern to separate concerns and ensure a modular and maintainable codebase.
https://github.com/furkanbaran/towfinder
asp-net-core-8 booking-system csharp html-css-javascript mvc
Last synced: about 1 month ago
JSON representation
TowFinder is a C# project designed to help users find nearby tow operators based on city and district selection. The project utilizes ASP.NET Core 8.0 and Entity Framework Core for a robust and scalable application. The application follows the MVC (Model-View-Controller) pattern to separate concerns and ensure a modular and maintainable codebase.
- Host: GitHub
- URL: https://github.com/furkanbaran/towfinder
- Owner: FurkanBaran
- License: mit
- Created: 2024-06-02T11:16:56.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-23T14:05:34.000Z (about 1 month ago)
- Last Synced: 2024-11-23T15:19:46.972Z (about 1 month ago)
- Topics: asp-net-core-8, booking-system, csharp, html-css-javascript, mvc
- Language: C#
- Homepage: http://towfinder.furkanbaran.com:5000/
- Size: 1.25 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TowFinder
TowFinder is a C# project designed to help users find nearby tow operators based on city and district selection. The project utilizes ASP.NET Core 8.0 and Entity Framework Core for a robust and scalable application. The application follows the MVC (Model-View-Controller) pattern to separate concerns and ensure a modular and maintainable codebase. This README provides a comprehensive guide to set up and run the project.
## Project Overview
This project was developed as my first C# project, aiming to meet the specific requirements and features requested. Technologies and methodologies were chosen to ensure scalability, maintainability, and ease of deployment.
## Technologies Used
- **ASP.NET Core 8.0**: The primary framework for building the web application.
- **Entity Framework Core**: Used for database operations and management.
- **Bootstrap 5**: For responsive and modern UI design.
- **MySQL**: The relational database management system used to store data.## Features
- **User-friendly Interface**: Select city and district to find nearby tow operators.
- **Admin Panel**: Admins can approve or reject tow operator registrations.
- **Tow Operator Registration**: Tow operators can register and manage their profiles.
- **Authentication and Authorization**: Secure login for admins and tow operators.
- **Dynamic Content Loading**: Use of AJAX to dynamically load districts based on city selection.## Run Locally with Docker Compose
Build and launch TowFinder in a local environment using Docker Compose.```bash
git clone https://github.com/furkanbaran/TowFinder.git
cd TowFinder
docker compose up -d
```
Once the services are up, visit the application in your browser at: http://localhost:8080/## Setup and Installation
Follow these steps to set up and run the project on your local machine.
### Prerequisites
- .NET 8.0 SDK
- Visual Studio 2022 (or later)
- MySQL Server### Clone the Repository
```bash
git clone https://github.com/furkanbaran/TowFinder.git
cd TowFinder
```### Configuration
1. **Database Configuration**: Update the `appsettings.json` file with your MySQL database connection details.
```json
{
"ConnectionStrings": {
"DefaultConnection": "Server=YOUR_SERVER;Database=YOUR_DATABASE;User=YOUR_USERNAME;Password=YOUR_PASSWORD;"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
}
```
2. **Default Admin User**A default admin user is provided for initial setup and testing purposes. The credentials are as follows:
- **Username**: admin
- **Password**: Admin123!in [program.cs](program.cs)
It is highly recommended to change the default admin password after the first login to ensure security.3. **Environment Variables**: Alternatively, you can set up environment variables for sensitive data.
### Restore Dependencies
Restore the project dependencies using the .NET CLI.
```bash
dotnet restore
```### Apply Migrations
Apply the database migrations to set up the database schema.
```bash
dotnet ef database update
```### Run the Application
Run the application using the .NET CLI.
```bash
dotnet run
```Open your browser and navigate to `http://localhost:5000` to see the application in action.
### Project Structure
- **Controllers**: Handle incoming requests and return responses.
- **Models**: Represent the data and business logic.
- **Views**: Define the UI elements and layout.
- **ViewModels**: Transfer data between controllers and views.
- **wwwroot**: Static files such as CSS, JavaScript, and images.
- **Migrations**: Database migration files generated by Entity Framework Core.
- **Data**: Contains the application's DbContext and configuration for Entity Framework Core.
- **Entity**: Defines the application's data models and entity configurations.## Deployed on AWS EC2 Ubuntu 22.04:
[https://towfinder.furkanbaran.com/](https://towfinder.furkanbaran.com/)
## Screenshots![Ekran görüntüsü 2024-06-02 190652](https://github.com/FurkanBaran/TowFinder/assets/21145014/57d12f29-b3ba-4779-bb60-bd49a69a3708)
![Ekran görüntüsü 2024-06-02 190718](https://github.com/FurkanBaran/TowFinder/assets/21145014/b002b03b-f9ee-4ede-a2e7-8c2c5c20e802)
![Ekran görüntüsü 2024-06-02 190835](https://github.com/FurkanBaran/TowFinder/assets/21145014/3076dc65-0bc8-4d72-9b51-9a4b0d0a8b4d)
![Ekran görüntüsü 2024-06-02 190823](https://github.com/FurkanBaran/TowFinder/assets/21145014/07c5e360-650c-4ca9-8ebc-41acf46fe116)## Contribution
Contributions are welcome! If you have any ideas, suggestions, or issues, please open an issue or submit a pull request.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Acknowledgements
- This project was developed as my first C# project, showcasing the learning and implementation of ASP.NET Core and Entity Framework Core. It may contain errors and is not recommended for use in production environments.