Skip to content

nikosdsk/FrontEnd_BlueDot

Repository files navigation

πŸ”΅ BlueDot Frontend

Modern Angular healthcare platform for doctor discovery, appointment booking, and healthcare management.

Angular TypeScript Tailwind CSS Leaflet Node.js npm License


✨ Features

  • πŸ” Secure Authentication & RBAC
    Protected Angular routes for patients, doctors, admin using Auth0 JWT integration.

  • πŸ“… Appointment Scheduling System
    Manage bookings, appointments, doctor availability, and healthcare scheduling workflows.

  • πŸ”Ž Doctor Discovery & Filtering
    Browse doctors by specialty, healthcare category, and location.

  • πŸ—ΊοΈ Interactive Map Integration
    Leaflet-powered healthcare location services and doctor mapping.

  • ⚑ Modern Angular Architecture
    Built using Angular 21 standalone components with lazy-loaded routing architecture.


πŸ— Architecture

Angular 21.2+ Standalone Components
β”œβ”€β”€ Feature-based modular structure
β”œβ”€β”€ Angular Router with lazy loading
β”œβ”€β”€ RxJS service-driven state management
β”œβ”€β”€ Tailwind CSS 4.0 + SCSS styling
β”œβ”€β”€ Role-based route guards (Patient, Doctor, Admin)
β”œβ”€β”€ Auth0 JWT token integration
└── Leaflet maps integration

πŸ’» Tech Stack

Category Technology Version
Framework Angular 21.2.0
Language TypeScript 5.9.2
Styling Tailwind CSS + SCSS 4.0
State Management RxJS 7.8.0
Maps Leaflet 1.9.4
Authentication Auth0 Angular JWT 5.2.0
Formatting Prettier 3.8.1
Linting ESLint Latest
Build Tool Angular CLI 21.2.8
Package Manager npm 11.12.1

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm 11+
  • Git

Installation

git clone https://github.com/yourusername/bluedot-frontend.git
cd bluedot-frontend
npm install

Start Development Server

npm start

Application runs on:

http://localhost:4200

Production Build

npm run build

Production files are generated inside:

dist/

Watch Mode

npm run watch

βš™οΈ Environment Configuration

Create a .env or environment configuration file if required:

NG_APP_API_URL=http://localhost:3000/api
NG_APP_ENVIRONMENT=development
NG_APP_AUTH0_DOMAIN=your-auth0-domain
NG_APP_AUTH0_CLIENT_ID=your-client-id

Update the variables according to your backend API and Auth0 configuration.


πŸ“ Project Structure

src/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ core/                      # Core utilities & shared components
β”‚   β”œβ”€β”€ features/                  # Feature modules
β”‚   β”‚   β”œβ”€β”€ Login/                 # Authentication feature
β”‚   β”‚   β”œβ”€β”€ patient-dashboard/     # Patient features
β”‚   β”‚   β”œβ”€β”€ doctor-dashboard/      # Doctor features
β”‚   β”‚   β”œβ”€β”€ admin-dashboard/       # Admin features
β”‚   β”‚   └── not-found/             # 404 page
β”‚   β”œβ”€β”€ services/                  # Business logic & API services
β”‚   β”‚   β”œβ”€β”€ auth.service.ts
β”‚   β”‚   β”œβ”€β”€ appointment.service.ts
β”‚   β”‚   β”œβ”€β”€ doctor.service.ts
β”‚   β”‚   β”œβ”€β”€ admin.service.ts
β”‚   β”‚   β”œβ”€β”€ analytics.service.ts
β”‚   β”‚   β”œβ”€β”€ role.guard.ts
β”‚   β”‚   └── admin.guard.ts
β”‚   β”œβ”€β”€ app.routes.ts              # Routing configuration
β”‚   └── app.config.ts              # Application configuration
β”œβ”€β”€ styles.css                     # Global styles
β”œβ”€β”€ main.ts                        # Bootstrap entry point
└── index.html                     # Main HTML file

πŸ” Authentication & Authorization

BlueDot implements role-based access control (RBAC) using Angular route guards with Auth0 JWT token integration.

User Roles

  • patient β€” Appointment booking and profile management
  • doctor β€” Availability and appointment management
  • admin β€” Full platform administration access

Production Build

npm run build

Build artifacts are generated inside:

dist/

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push the branch
  5. Open a Pull Request

Development Standards

  • Follow Angular style guide best practices
  • Use TypeScript strict mode
  • Format code with Prettier
  • Write tests for new features
  • Use standalone components
  • Keep architecture modular and scalable
  • Implement proper RxJS error handling

Code Quality

  • ESLint for linting
  • Prettier for formatting
  • TypeScript strict mode enabled
  • Tailwind CSS class sorting support


πŸ“š Resources


πŸ“ Important Notes

  • Ensure Node.js 18 or higher is installed
  • npm is the recommended package manager
  • Tailwind CSS 4.0 is used in this project
  • All Angular components follow standalone architecture
  • Configure environment variables before deployment


πŸ‘₯ Team

MY CLICKCARE β€” TEAM 4

  1. NIKOS DASKALAKIS
  2. KONSTANTINOS PETSOPOULOS
  3. MARIA ANAGNOU
  4. APOSTOLOS SOUGLERIS

πŸ“ License

Licensed under the MIT License.


Built with Angular 21 for modern healthcare experiences ❀️

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors