A modern admin panel built with Angular 20, Angular Material, and TailwindCSS. Features a responsive design with collapsible sidebar, user management, forms, and UI components.
- Modern Stack: Angular 20 with standalone components and lazy loading
- UI Framework: Angular Material with TailwindCSS for styling
- Responsive Design: Mobile-first approach with collapsible sidebar
- Authentication: Mock login/signup with route guards
- User Management: CRUD operations with search and filtering
- Form Components: Comprehensive form examples with validation
- UI Components: Showcase of various Material Design components
- Mock API: json-server for development and testing
src/
├── app/
│ ├── core/
│ │ ├── models/ # Data models
│ │ ├── services/ # Core services
│ │ └── guards/ # Route guards
│ ├── features/
│ │ ├── dashboard/ # Dashboard feature
│ │ ├── user/ # User management
│ │ └── admin/ # Admin features
│ ├── layouts/
│ │ ├── auth-layout/ # Authentication layout
│ │ └── main-layout/ # Main app layout
│ ├── pages/
│ │ ├── login/ # Login page
│ │ └── signup/ # Signup page
│ └── shared/ # Shared components
├── assets/
│ └── mock-api/ # Mock API data
└── environments/ # Environment configs
- Node.js 20+
- npm or yarn
- Clone the repository:
git clone https://github.com/codebangla/signal-admin.git
cd signal-admin
- Install dependencies:
npm install
- Start the development server:
npm start
- Start the mock API server (in a separate terminal):
npm run api
The application will be available at http://localhost:4200
npm start
- Start development servernpm run build
- Build for productionnpm run api
- Start json-server mock APInpm run test
- Run unit testsnpm run lint
- Run ESLint
The app includes mock authentication with the following credentials:
- Email: [email protected]
- Password: admin123
- Overview cards with key metrics
- Recent activity feed
- Quick action buttons
- User list with search and filtering
- Add/Edit/Delete operations
- Role-based status indicators
- Avatar support
- Comprehensive form examples
- Validation patterns
- Various input types (text, email, select, date, etc.)
- Form submission handling
- Buttons, cards, chips
- Progress indicators
- Badges and icons
- Lists and tabs
- Expansion panels
The project includes a json-server setup with the following endpoints:
GET /users
- Get all usersGET /users/:id
- Get user by IDPOST /users
- Create new userPUT /users/:id
- Update userDELETE /users/:id
- Delete user
The project uses:
- TailwindCSS 3.4.0 for utility classes
- Angular Material for components
- Custom CSS for specific styling needs
- Create feature folder in
src/app/features/
- Add routes to appropriate layout
- Create standalone components
- Add to navigation if needed
All components are standalone and follow this pattern:
@Component({
selector: "app-component-name",
standalone: true,
imports: [
/* Material modules */
],
template: `/* Inline template */`,
})
export class ComponentName {}
- Build the application:
npm run build
- Deploy the
dist/signal-admin
folder to your hosting provider.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License.