Logan Roth [email protected] - GitHub(Lo-GR)
- C# 9
- .NET 5.0.102
- SDK 8.0.19
- Razor
- Bootstrap 4.5
- HTML 5 (CS version)/CSS3
- My SQL 8.0.19/WorkBench 8.0.19
- Entity Framework
- HTML Helper
- Identity Framework
- MVC
- RESTful Conventions
- CRUD Functionality
- Database Retrieval/Storage
- Many-To-Many Relationships
- User Login and Management
This MVC webpage will present it's user with a splash screen with displays of all "Flavors" and "Treats" available. All CRUD functionality is present for both Flavor and Treat data and options are presented in an explorable fashion on the webpage. A user can also register and login into their own personal accounts using passwords. Only logged in users are able to utilize Create, Update, or Delete functionality of classes.
This is a practice project for practicing C#, Razor, ASP .NET framework, Entity Framework, MySQl, Databases, Identity and MVC for a course at Epicodus.
Open for full Guide
Repository: https://github.com/Lo-GR/PierreBakery3.Solution.git
- In your terminal of choice or GitHub's Desktop Application, clone the above repository from Github. For further explanation on how to clone this repository, please visit GitHub's Documentation.
- Ensure you are running .NET Core SDK by using the command dotnet --version in your terminal. If a version number is not presented, please visit this download page for .NET 5 and install the applicable software for your OS.
- Once you verify you are running a .NET 5, navigate in your terminal to PierreBakery3 directory within the PierreBakery3.Solution directory you just cloned. Once there, run "dotnet build" in your terminal to build application within directory.
- In your terminal, while still in PierreBakery3 directory, run "dotnet restore."
- You will require a text or code editor to complete the following steps. VS Code is recommended
- Ensure you are running MySQL Server 8 and MySQL WorkBench 8. If you are running windows, use the Windows Installer for MySQL and follow the instructions provided by the installer. For Macs, visit MySQL Commuinity Downloads and select macOS from the Operation Systems. This will be a manual installation. If you need additional assistance on this, please visit Epicodus's Learn How to Program Article.
- Once you verify you have SQL installed, create a file called "appsettings.json" in the project directory PierreBakery3. Paste the following into this file.
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Port={PORT OF SERVER};database=logan_roth;uid=root;pwd={PASSWORD OF SERVER};"
}
}
- In your terminal, run "dotnet ef database update"
- Back in your terminal in the PierreBakery3 production directory, type "dotnet run." The terminal will present local host routes for you to navigate to in your browser. An example would be "http://localhost:5000." Enter this into a web browser of choice to use this application. Keep the terminal running as it is being used to control the local server.
- When finished, exit the terminal or use the command "CTRL C"(Windows) or "CMD C"(Mac) to shut down the local server.
- No known bugs at this time. Please contact a contributor to report any bugs found during use.
- Additional UI
- Additional User Roles
User Stories___
The application should have user authentication. A user should be able to log in and log out. Only logged in users should have create, update and delete functionality. All users should be able to have read functionality.
There should be a many-to-many relationship between Treats and Flavors. A treat can have many flavors (such as sweet, savory, spicy, or creamy) and a flavor can have many treats. For instance, the "sweet" flavor could include chocolate croissants, cheesecake, and so on.
A user should be able to navigate to a splash page that lists all treats and flavors. Users should be able to click on an individual treat or flavor to see all the treats/flavors that belong to it.
Functionality___
To research: multiple lists in models
https://stackoverflow.com/questions/36892770/pass-multiple-list-from-multiple-models-to-view-from-controller
Copyright (c) 2021, Logan Roth.
Please contact Contributor for further use information or if you would like to make a contribution.