Note: The commit history would show that I used the words
UsedmiDNT
andDes
in the past. These are ciphered words I used to prevent any other candidates from finding this repository.
The original word's vowels were substituted to the next vowel, and the consonants were substituted to the next consonant. For example: the original word
Hello
would be converted intoJimmu
using this method.
This information is made available for the actual assessors of OracleCMS as proof that I worked on the task they requested.
A Car
management system provided as a Coding Task from OracleCMS
. This project uses .NET Core with Swagger to create a web API
- Clone this Repository
- Open
WebApi/CarDeals/CarDeals.sln
in Visual Studio (preferably version 22) - Press
CTRL+F5
to run the web API
- Make sure that the Web API is running
- Open
CarDealersFrontEnd
as a root folder - Run the following commands:
npm install # run this only once
npm run dev
- Open your browser and paste the following in your URL bar:
http://localhost:5173/
The app should be running now.
This project implements authentication to prevent other dealers from retrieving others' data. It does this by encrypting passwords using hashing and a salt.
Upon successful authentication, the user's passwordHash
is returned and can be used to
get private data related to their account. Currently, it is just their stocks and address,
but the data has been designed so that it can be extended to other places.
Sessions have also been implemented as a part of authentication. Every time a user uses
the passwordHash
provided, the session refreshes, allowing the user to stay online into their
account. A session period of 30 minutes has been set as a constant so that it is easy to change in case a change is required.
A demonstration of its usage is made using Svelte.
The following are documentation on the API implemented for multiple dealers to use.
/api/Dealers
API Endpoints: Focusing on login functionality and dealer-specific functionality/api/Cars
API Endpoints: Focusing on car data management, including the interaction of cars with dealers
For a programmatic example of how to use them, check out the api.ts and the prepareDB.ts files
- Define the data model
- Set up the Web API project
- Create the database context
- Create the controllers
- Create tests
- Submit code
- Make a Svelte UI for it