A modern, scalable event management application built with Angular 21 and TailwindCSS. This system provides comprehensive tools for creating, managing, and coordinating events with a responsive user interface.
- Features
- Tech Stack
- Prerequisites
- Installation
- Development
- Building for Production
- Testing
- Project Structure
- Available Scripts
- Configuration
- Contributing
- License
- Event Creation & Management: Create and manage events with detailed information
- User-Friendly Interface: Responsive design that works on desktop and mobile devices
- Real-time Notifications: Toast notifications for user feedback (ngx-toastr)
- Modern UI Framework: Built with TailwindCSS for beautiful and maintainable styling
- Type-Safe Development: Full TypeScript support with strict mode enabled
- Server-Side Rendering: SSR capability with Angular Universal
- Component Scaffolding: Quick component generation with Angular CLI
- Framework: Angular 21.0.3
- Language: TypeScript 5.9.3
- Styling: TailwindCSS 3.4.18
- UI Components: ngx-toastr 19.1.0
- Build Tool: Angular CLI 21.0.1
- Testing: Vitest 4.0.8
- Package Manager: npm 9.8.0
- Server: Express 5.1.0 (for SSR)
Before you begin, ensure you have the following installed:
- Node.js: v20.x or higher
- npm: v9.8.0 or higher (comes with Node.js)
- Angular CLI: v21.0.1 or higher
To verify your installations:
node --version
npm --version
ng version-
Clone the repository
git clone https://github.com/Grantlinkz/Event-Management-Project.git cd Event-Management-Project -
Install dependencies
npm install
-
Configure environment variables (if needed)
- Create or modify
.envfile in the root directory - Add necessary configuration variables
- Create or modify
npm startOr using Angular CLI directly:
ng serveThe development server will be available at http://localhost:4200/. The application automatically reloads whenever you modify any source files.
- Open Chrome DevTools (F12 or Cmd+Option+I)
- Use Angular DevTools extension for better debugging
- Check the console for error messages and warnings
npm run buildOr using Angular CLI:
ng buildBuild artifacts will be stored in the dist/ directory. The production build optimizes your application for performance and speed.
npm run watchThis continuously watches for changes and rebuilds the project.
To run the application with SSR:
npm run serve:ssr:frontendRun unit tests using the Vitest test runner:
npm testOr using Angular CLI:
ng testFor end-to-end testing:
npm run e2eOr:
ng e2eNote: Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs (e.g., Cypress, Protractor).
Event-Management-Project/
βββ src/ # Source code
β βββ app/ # Application components and services
β βββ assets/ # Static assets (images, styles)
β βββ index.html # Main HTML file
β βββ main.ts # Application entry point
βββ dist/ # Build output (generated)
βββ public/ # Public assets
βββ .vscode/ # VS Code settings
βββ angular.json # Angular CLI configuration
βββ package.json # Project dependencies and scripts
βββ tailwind.config.js # TailwindCSS configuration
βββ tsconfig.json # TypeScript configuration
βββ tsconfig.app.json # TypeScript app configuration
βββ tsconfig.spec.json # TypeScript testing configuration
βββ README.md # This file
| Command | Description |
|---|---|
npm start |
Start the development server |
npm build |
Build the project for production |
npm watch |
Build with watch mode enabled |
npm test |
Run unit tests with Vitest |
npm run serve:ssr:frontend |
Run application with Server-Side Rendering |
TailwindCSS configuration can be modified in tailwind.config.js:
module.exports = {
content: [
'./src/**/*.{html,ts}',
],
theme: {
extend: {},
},
plugins: [
require('@tailwindcss/forms'),
],
};TypeScript settings are configured in tsconfig.json. Key settings:
- strict:
true- Enables strict type checking - target:
ES2023- Target JavaScript version - module:
ESNext- Module system
Code formatting configuration in package.json:
{
"printWidth": 100,
"singleQuote": true,
"overrides": [
{
"files": "*.html",
"options": {
"parser": "angular"
}
}
]
}ng generate component component-nameng generate service service-nameng generate --helpnpx prettier --write src/ng lint- Angular Official Documentation
- Angular CLI Overview and Command Reference
- TailwindCSS Documentation
- ngx-toastr Documentation
- TypeScript Documentation
ng serve --port 4300rm -rf node_modules package-lock.json
npm installng cache clean
npm cache clean --force
npm install
npm run buildContributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License - see the LICENSE file for details.
Last Updated: December 2025 Developer: @Grantlinkz