This project consists of a Spring Boot backend API and an Angular frontend that work together to provide a comprehensive company project management system. The application supports two user roles (Admin and Worker) and includes features for managing announcements, teams, projects, and users across multiple companies.
Check GitHub Wiki tab for API documentation.
Authentication interface with role selection (Admin/Worker)
Select company for compancy specific information
View company-wide announcements with new content indicators and admin controls
Manage teams across company with team names, description, and members
Track team projects with status indicators
Admin interface for managing all company users with role and status tracking
Update personal information, credentials, and contact details
- Java 11 MIN, Java 17 MAX
- Node.js (14+)
- PostgreSQL (12+)
- Maven (3.6+)
- Angular CLI 15+
- Clone the repository:
git clone https://github.com/minh-t-coding/project-management-dashboard.git
cd project-management-dashboard- Update Database Credentials
In backend/src/main/resources/application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=your_password_here- Backend Setup
Navigate to the backend directory and run:
cd backend
mvn clean install
mvn spring-boot:runThe backend will start on http://localhost:8080
- Frontend Setup
In a new terminal, navigate to the frontend directory:
cd frontend
npm install
ng serveThe frontend will start on http://localhost:4200
The back end should pre-seed the database with some users if you want to just check out the application flow.
You can get started by navicating to http://localhost:4200 and logging in with:
username: willsusername
password: willspassword- User Management: Add, edit, and deactivate users
- Company Selection: Switch between multiple companies
- Team Management: Create, edit, and delete teams with member assignments
- Project Management: Create, edit, and deactivate projects for teams
- Announcements: Post and edit company-wide announcements
- Full CRUD Operations: Complete control over all resources for company
- View Announcements: See company announcements with new content indicators
- Team Access: View teams they're assigned to
- Project Collaboration: View and edit projects for their teams
- Profile Management: Update personal profile and credentials
- Minh Nguyen
- Efrain Medina
- Matthew Robinson
