A comprehensive solution that caters to businesses looking to manage their projects, teams, and user accounts, seamlessly integrating frontend and backend functionalities.
- User Management: Handle user login, validation, creation, and modifications to profiles, credentials, and user status.
- Announcements: Allows for the addition and updating of important announcements.
- Company Overview: View all companies, their associated users, announcements, and teams, alongside project data nested under teams.
- Projects: A duplicate functionality to the company's projects, but focusing specifically on project creation, editing, and retrieval by team.
- Teams: Create, modify, and retrieve team information including its associated members.
- Login:
POST /login
- Get User:
GET /{username}
- Validate User:
POST /validate
- Create User:
POST /new
- Edit User Profile:
PATCH /{username}/profile
- Edit User Credentials:
PATCH /{username}/credentials
- Edit User Admin Status:
PATCH /{username}/admin/{adminStatus}
- Edit User Active Status:
PATCH /{username}/active/{activeStatus}
- Add Announcement:
POST /add
- Update Announcement:
PATCH /update/{id}
- Get All Companies:
GET /
- Get Company Users:
GET /{id}/users
- Get Company Announcements:
GET /{id}/announcements
- Get Company Teams:
GET /{id}/teams
- Get All Projects by Team:
GET /{companyId}/teams/{teamId}/projects
- Add User to Company:
POST /{id}/users/{username}
- Get All Projects by Team (Duplicate):
GET /{companyId}/teams/{teamId}/projects/team
- Add Project to Team:
POST /{companyId}/teams/{teamId}/projects
- Edit Project:
PATCH /{companyId}/teams/{teamId}/projects/{projectId}
- Create Team:
POST /
- Edit Team by ID:
PATCH /{teamId}
- Get All Team Members:
GET /{id}/users
- Get Team Information:
GET /{id}
Language: Java Framework: Spring Boot Database: PostgreSQL
- Login & Registration: Clean and user-friendly forms with validation feedback.
- Dashboard: Overview of projects, teams, and announcements.
- User Profiles: Detailed view and editing functionalities for user data.
- Announcements: A dedicated section for viewing and managing announcements.
- Company & Teams: Interactive lists and forms for company and team-related operations.
- Projects: Visual representation of projects with capabilities to add, edit, and manage.
- Framework: Angular
- Styling: Bootstrap, CSS
- Development Tools: TypeScript, HTML, CSS, VS Code
- State Management: Angular Services singleton
Ensure you have the following setup:
- PostgreSQL running on port
5432
- Username:
postgres
- Password:
bondstone
- Username:
- Navigate to /frontend
- Run
npm install
to install necessary frontend dependencies - Navigate to root directory
- Run
npm install
to install necessary root dependency - Run
npm start
to run both server and frontend