https://github.com/aksellercan/foodoutletrestapi
Food Outlet RESTAPI uses XAMPP database to store and manage data
https://github.com/aksellercan/foodoutletrestapi
asp-net-core csharp jwt-authentication mstest mysql rest-api restful-api
Last synced: 2 months ago
JSON representation
Food Outlet RESTAPI uses XAMPP database to store and manage data
- Host: GitHub
- URL: https://github.com/aksellercan/foodoutletrestapi
- Owner: Aksellercan
- License: mit
- Created: 2025-01-22T17:15:01.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-12-01T20:55:29.000Z (7 months ago)
- Last Synced: 2025-12-04T10:46:15.484Z (7 months ago)
- Topics: asp-net-core, csharp, jwt-authentication, mstest, mysql, rest-api, restful-api
- Language: C#
- Homepage:
- Size: 157 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FoodOutletRESTAPIDatabase
A full-stack food outlet review web application built using **ASP.NET Empty Core** and vanilla **JavaScript**. This was developed as part of an Advanced Programming university project with the goal of designing a complete web service including a RESTful API, secure authentication.
## Tech Stack
- **Backend**: ASP.NET Empty Core
- **Frontend**: HTML, CSS, JavaScript
- **Database**: MariaDB
- **Authentication**: JWT with HTTP-only cookies
- **Password Security**: Salted + hashed using PBKDF2 (HMACSHA256)
### Data Models
- **User**
- **Review**
- **FoodOutlet**
Each user can write multiple reviews, and each outlet can have many reviews (one-to-many relationships).
## API Overview
### Controllers
- `UserController`
- `FoodOutletController`
- `LoginController`
- `ReviewsController`
### User Roles & Security
- All new accounts are created with the role `"User"` by default.
- Role `"Admin"` **must be assigned manually** in the database.
This is an intentional design decision to prevent privilege escalation via API manipulation.