Gifari Industries - BD Cyber Security Team
Home
/
home
/
u861052488
/
domains
/
lightpink-parrot-549710.hostingersite.com
/
public_html
/
โ๏ธ
Editing: README.md
# Project Management System (PMS) A scalable Project Management System built with Laravel 12, Bootstrap 5.3, and MySQL. ## Features - **Authentication & RBAC**: Role-based access control (Admin, Project Manager, Team Member). - **Dashboard**: Overview of projects and tasks with Chart.js integration. - **Projects**: CRUD operations with project manager assignment and status tracking. - **Tasks**: CRUD operations under projects with priority, status, and deadlines. - **Teams**: Team creation with role assignment within teams (Lead, Member, etc.). - **Comments & Activity**: Comment system on tasks and automatic activity logs for key modules. - **Notifications**: Email and in-app notifications for task assignments. - **RESTful APIs**: API endpoints for Projects, Tasks, and Teams (with Laravel Sanctum). - **Performance**: Eager loading, Caching (Redis/File), and background jobs via Queues. ## Architecture - **MVC Pattern**: Standard Laravel architecture. - **Repository Pattern**: Decoupled data access layer. - **Service Layer**: Business logic encapsulated in services. - **Traits**: Reusable traits for cross-cutting concerns like activity logging. ## Requirements - PHP 8.2+ - Composer - MySQL ## Setup Instructions 1. **Clone the repository**: ```bash git clone <repository-url> cd pms ``` 2. **Install dependencies**: ```bash composer install npm install && npm run build ``` 3. **Configure environment**: - Copy `.env.example` to `.env`. - Update `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD` in `.env`. - Update `MAIL_` settings for notifications. 4. **Generate app key**: ```bash php artisan key:generate ``` 5. **Run migrations and seeders**: ```bash php artisan migrate:fresh --seed ``` - This will create an admin user: `admin@example.com` with password `password`. 6. **Start the server**: ```bash php artisan serve ``` 7. **Run tests**: ```bash php artisan test ``` ## API Documentation - All API routes are prefixed with `/api/v1`. - Authentication is handled via Laravel Sanctum (Bearer Tokens). - Endpoints: - `GET /api/projects` - `POST /api/tasks` - `GET /api/teams` - (and other standard CRUD operations) ## License MIT License.
๐พ Save
โ Cancel