Skip to content

yechielby/UserManagementApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

User Management Application

A full-stack application that provides user management capabilities with a C# (.NET 8) backend API and Angular frontend.

Overview

This application allows you to:

  • View a list of users
  • Add new users
  • Edit existing users
  • Delete users

Technologies Used

Backend

  • .NET 8
  • ASP.NET Core Web API
  • Entity Framework Core (In-Memory Database)
  • C#

Frontend

  • Angular 19
  • TypeScript

Getting Started

Prerequisites

Backend Setup

  1. Clone the repository

    git clone https://github.com/yechielby/UserManagementApp.git
  2. Navigate to the backend project directory

    cd UserManagementApp
  3. Build and run the application

    dotnet build dotnet run
  4. The API will be accessible at:

  5. Swagger UI is available at:

Frontend Setup (Angular)

  1. Clone the repository
    git clone https://github.com/yechielby/taxes.git
  2. Navigate to the Angular project directory
    cd taxes
  3. Install dependencies
    npm install
  4. Start the Angular development server
    ng serve
  5. The Angular application will be available at:
    http://localhost:4200

API Endpoints

Method Endpoint Description
GET /api/Users Get all users
GET /api/Users/{id} Get user by ID
POST /api/Users Create a new user
PUT /api/Users/{id} Update an existing user
DELETE /api/Users/{id} Delete a user

Data Model

The User model includes:

  • Id (int)
  • Name (string, required)
  • Username (string, required)
  • Email (string, required, must be valid email)
  • Phone (string, required)
  • Website (string, required)
  • Address (object, contains Street, Suite, City, Zipcode, and Geo coordinates)
  • Company (object, contains Name, CatchPhrase, and Bs)

Features

  • Data Seeding: On first run, the application seeds user data from JSONPlaceholder's /users endpoint.
  • Validation: Includes validation for required fields (Name, Username, Email, Phone, Website) and email format.
  • Error Handling: Comprehensive error handling and logging.
  • CORS: Configured to allow requests from the Angular frontend running on localhost:4200.

Development Notes

  • The application uses an in-memory database, so data will be reset when the application restarts.
  • Initial data is seeded from the JSONPlaceholder API or from fallback data if the API call fails.

License

MIT License

About

taxes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages