Interactive web application integrated with map where we can find any job in IT sector.
This repository is divided for two main projects. It is frontend Single Page Application made in React.js and backend REST API made in ASP.NET Core.
This project is my production ready thesis project for University engineering project.
The local healthchecks are available at those addresses http://localhost:5002/health-checks and http://localhost:5002/health-checks-ui#/healthchecks
The production healthchecks are available at those addresses https://jobjet.azurewebsites.net/health-checks and https://jobjet.azurewebsites.net/health-checks-ui#/healthchecks
We use APIs like those:
- Google Geocoding API - https://developers.google.com/maps/documentation/geocoding/overview
- Project OSRM - https://project-osrm.org/
- Open Street Map - https://www.openstreetmap.org/#map=6/52.018/19.137
The backend part of application was hosted on Azure App Services, the frontend part was hosted on Netflify. The building and publishing process was handled by GitHub Actions where the newest changes from main branch were instantly deployed to App Services/Netlify. Internally the app uses Azure SQL database.
Go to JobJet/src/backend/JobJetRestApi
Run dotnet restore
Go to JobJet/src/backend/JobJetRestApi.Web
Run dotnet ef database update --context JobJetDbContext --project ../JobJetRestApi.Infrastructure --connection "Data Source=(LocalDb)\MSSQLLocalDB;Database=JobJet-Development;Trusted_Connection=True;"
Go to Environment Variables in your system and set Connection String for the application. Where key is: JobJetVariables_ConnectionStrings__DefaultConnection and value is Server=(LocalDb)\MSSQLLocalDB;Database=JobJet-Development;Trusted_Connection=True;
Go to Environment Variables in your system and set JWT Secret for the application, Where key is: JobJetVariables_Jwt__Secret and value is TopSecretKey123TopSecretKey123 - the value must be equals to 30 characters
Go to Environment Variables in your system and set JWT Secret for the application, Where key is: JobJetVariables_Geocoding_ApiKey and value is YourRealGeocodingApiKey - it's API key from Google Geocoding Services.
Go to JobJet/src/backend/JobJetRestApi.Web
Run dotner run
You can find Swagger document at this address https://localhost:5003/swagger/index.html
Go to JobJet/src/frontend/job-jet-react-client/src
Run npm start
You can find the app at this address http://localhost:3000/
Go to JobJet/src/backend/JobJetRestApi.Web
Run dotnet ef migrations add SomeMigrationName --context JobJetDbContext --project ../JobJetRestApi.Infrastructure -o ../JobJetRestApi.Infrastructure/Persistence/Migrations