Simple Dating app with ASP .NET and Angular 8 - Martiiiin/dating-app-challenge GitHub Wiki

This is the final project of an Udemy course, which is about building an API with ASP.NET and a single page application (SPA) with Angular (v8). The project is about building a simple, but fully functional, dating app.

When completed, users should be able to register, login (using JWT), observe a list of candidates that match a set of parameters fixed by the users, update their profile, read other people's profiles, upload photos, send messages to and receive messages from other users, and like other users.

For database connection and data manipulation, we use ENTITY FRAMEWORK (an object-relational mapper). For user-wise data manipulation, we make use or the IDENTITY module (both of them are included as part of the ASP.NET framework).

For storing images, we have made use of a cloud storage service (Cloudinary), which we interfaced with .NET via an API provided by Cloudinary itself.

We have also made use of policies to allow the selected users of the app to have admin or moderator roles. This way, the images uploaded by users need for validation before other users can actually see them. The moderators are the ones who can, via a photo moderation panel, validate photos uploaded by other users. Admins can change the roles of other users.

We used several complementary resources to build this project like Bootstrap for styling, NGX-Boostrap for dynamic Boostrap components made in Angular (Boostrap uses JQuery by default) among others.

This is the index page of the project, what an unlogged user sees by default.

Home

When a user signs-in, she gets redirected to a page showing possible candidates. Here we logged in as Lola

List

The profile page for the logged-in user, which she can update at will

Profile

The photos tab, where the user can update and delete photos, as well as set a photo as her main

Profile photos

The logged-in user changed her main photo

Profile photo changed

The user just uploaded two photos, which a moderator has to validate before other users can see them

Photo pending validation

The messaging system. Lola is sending a couple of messages to Duke

Messaging

We log-in as Duke to see that we got some unread messages from Lola

Messaging 2

Duke responds to Lola's messages

Messaging 3

The admin panel, where we can change user privileges

Admin

Observing the privileges of user Annmarie

Admin 2

Photo validation panel. Duke recently uploaded a photo featuring the Joker

Photo validation

Let's validate it by clicking on "Accept"

Photo validated

Now other users can see this new photo, also Duke can set it as its main

Photo validated 2