/intern-lagbe

A platform dedicated to hosting internship job posts in Bangladesh

Primary LanguageJavaScript

InternFinder

A webapp to host internship job posts in Bangladesh.

Screenshots

1 2 4 90

Getting Started

First clone the repository. Then open a new terminal.

$ cd .\ClientApp\ 
$ npm install
$ cd ..
$ dotnet watch run

Note: you need to have access to the appsettings.json file contents to properly run the webapp.

Packages used

To install a package using the dotnet CLI: dotnet add package <package-name>

  • MongoDB.Driver
  • Microsoft.AspNetCore.Authentication
  • Microsoft.AspNetCore.Authentication.JwtBearer
  • System.IdentityModel.Tokens.Jwt
  • SendGrid
  • BCrypt.Net-Next --version 4.0.2
  • Newtonsoft.Json --version 13.0.1

Credentials

Check here

API List

Check here

Potential Errors

  • When running the program, an error Microsoft.AspNetCore.SpaServices[0]: internal/modules/cjs/loader.js:883" might pop up. Simply remove the node_modules folder and package-lock.json file
  • You need the file appsettings.json for the program to run.

Stuff learned

  • learned the concept of inverse dependency injection by abstracting the service class implementations using interfaces to enable a less tightly coupled system.
  • learned the concept of buisness logic layers by seperating the controller classes and the service classes. As a result, all the database calls and logic codes are kept abstract from the controller classses.
  • Learned dependency injections which is the process of sharing a particular resource across different classes.
  • Learned how authentications work behind the scenes with JWT tokens and middewares.

Potential Security issues

  • password is directly sent from client to server which is then encoded. This increases the possibility of man-in-the-middle attacks