https://github.com/chrisshim98/datingapp
Dating Web Application
https://github.com/chrisshim98/datingapp
angular bootstrap5 docker dotnet-core typescript
Last synced: 2 months ago
JSON representation
Dating Web Application
- Host: GitHub
- URL: https://github.com/chrisshim98/datingapp
- Owner: ChrisShim98
- Created: 2022-12-11T02:46:08.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-03T16:40:05.000Z (over 2 years ago)
- Last Synced: 2025-01-08T15:28:22.793Z (over 1 year ago)
- Topics: angular, bootstrap5, docker, dotnet-core, typescript
- Language: C#
- Homepage: https://sundaycruise.fly.dev/
- Size: 2.77 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SundayCruise - Dating Web Application
Developed with .NET Core 7.0 x Bootstrap 5 x Angular 14
Visit the [live demo](https://sundaycruise.fly.dev/) to explore the application.
**Testers can sign in as the demo user by clicking on the demo button or using the following credentials:**
**Username:** Sophie
**Password:** Pa$$w0rd
**Username:** Ethan
**Password:** Pa$$w0rd
## Features
1. **Registration:** Users can register for a new account using reactive forms that guide them through the required details.
2. **Secure Login:** Secure login using JSON Web Tokens (JWT) for communication between the server and client.
3. **Real-time Interaction:** Users can like and message each other in real-time.
4. **Message Status:** View message read status and timestamps.
5. **Message Deletion:** Messages are deleted from the database only when both users delete them.
6. **Profile Management:** Users can update their profile details and upload profile photos, stored securely on Cloudinary.
7. **Active User Tracking:** Track active users and their last active status using SignalR.
8. **User Sorting and Filtering:** Sort users by creation date or last active status and filter by age and gender.
9. **Like Tracking:** Track liked members and members who liked the user.
10. **Message Tracking:** View inbox, outbox, and new messages.
11. **Admin Features:** Administrators can manage user roles and moderate user-uploaded photos.
## Tech Stack Description
This dating web application leverages a combination of cutting-edge technologies to deliver a seamless user experience:
### Frontend:
- **Angular 14**: Empowering the client-facing aspect of the application, Angular offers a robust framework for building highly efficient single-page applications. With Angular, rendering processes are optimized, ensuring rapid delivery of content to users.
### Backend:
- **Microsoft .NET Core 7**: Serving as the backbone of the server-side functionalities, .NET Core 7 provides a cross-platform, high-performance framework for developing modern, cloud-enabled applications. It enables seamless integration with various platforms and ensures scalability and reliability.
- **ASP.NET Core**: Complementing .NET Core, ASP.NET Core is an open-source framework that facilitates the development of Internet-connected apps. It offers features such as an object-relational mapper for efficient data handling and supports rapid CRUD operations. ASP.NET Core streamlines development efforts, reducing both time-to-market and costs.
### Design:
- **Bootstrap 5**: Responsible for the application's design, Bootstrap 5 offers a comprehensive set of tools and components for creating responsive and visually appealing interfaces. By utilizing Bootstrap, the application benefits from a consistent and polished design, enhancing user engagement and usability.
By integrating these technologies, the dating web application achieves a harmonious blend of performance, scalability, and maintainability, ensuring an exceptional user experience.
## Deployment Strategy
The deployment process for this application involves several steps to ensure seamless delivery:
- **Building and Compression**: The Angular application is built and compressed, along with the Dotnet server files.
- **Dockerization**: The compressed files are dockerized within an Ubuntu (Linux) server environment using Docker containers.
- **Cloud Platform**: The dockerized application is then deployed to a cloud Platform as a Service (PaaS) provider, specifically Fly.io.
- **Automation with GitHub Actions**: GitHub Actions are set up to automate the dockerization and deployment process. Whenever there is a push to the main branch of the repository, GitHub Actions trigger the necessary steps to build, dockerize, and deploy the application.
This deployment strategy ensures efficient deployment of the application, with automatic updates triggered by changes in the main branch of the repository.
## Screenshots
| Home Page | Signed In |
| ------------- | ------------- |
|
|
|
| Register Form | Active Users |
| ------------- | ------------- |
|
|
|
| Members I Like | Members Who Like Me |
| ------------- | ------------- |
|
|
|
| Real Time Messages | Read Time Tracking |
| ------------- | ------------- |
|
|
|
| Filtering Users By Age And Gender | Message Inbox |
| ------------- | ------------- |
|
|
|
| Updating Profile | Modal If Changes Are Not Saved |
| ------------- | ------------- |
|
|
|
| Saved Changes | Uploading Images |
| ------------- | ------------- |
|
|
|
| Image Uploaded | Viewing Other Users Photos |
| ------------- | ------------- |
|
|
|
| Admin Panel | Admin Edit Roles |
| ------------- | ------------- |
|
|
|