Skip to content
Alvesss04Public

About

FCT NOVA - POO - Object-Oriented Programming (Programação Orientada por Objetos)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Object-Oriented Programming (POO) - NOVA FCT ☕

Bachelor in Computer Science and Engineering (LEI) | 1st Year - 2nd Semester

This repository contains the projects developed for the Object-Oriented Programming course at the Faculty of Sciences and Technology of the NOVA University of Lisbon (NOVA FCT).

✍️ Authors

  • Tomás Alves (Student No. 68681)
  • José Freitas (Student No. 69078) - (Paintball Game Project)
  • Felipe Magno (Student No. 67994) - (Office Calendar Project)

📌 Project 1: Paintball Game

The official project assignment and specifications provided by the faculty can be found here:

The project consists of building a turn-based strategy game in Java simulating a Paintball Game. The game is played by multiple teams on a rectangular grid map containing positions, bunkers, and players. The main goal of each team is to eliminate opposing teams while avoiding elimination, until only one winning team remains.

Main Features & Architecture

  • Turn-Based Strategy: Alternates turns between different teams, managing multiple players per team.
  • Map & Grid Management: Handles a rectangular grid with coordinate mapping $(x, y)$ for horizontal and vertical positions.
  • Interactive Entities: Support for various map elements such as players and defensive structures (bunkers).
  • Incremental Development: Developed following strict object-oriented design patterns and clean code standards.

📌Project 2: Office Calendar System

The official project assignment and specifications provided by the faculty can be found here:

An advanced Java application designed to manage office accounts, schedules, meetings, and priority events within an enterprise environment.

Main Features & Architecture

  • Account Management: Supports different account types and hierarchies (Enterprise accounts, Managers, Staff, Guests) with custom permission controls (e.g., creating events, high-priority scheduling).
  • Event & Invitation Control: Manages event creation, participant invitation lists, responses (accept/reject), and conflict handling (preventing overlapping schedules or handling mandatory participation rules).
  • Robust Exception Handling: Implements a comprehensive custom exception hierarchy for constraint violations (e.g., AccountIsBusyError, AlreadyAcceptedAnotherInvitationError, AccountCannotCreateEventsError).
  • Modular Design: Clear separation into packages handling calendars, accounts, events, invites, and commands.

🧠 Concepts and Acquired Skills

Across these projects, the course heavily emphasized advanced Java principles:

  • Advanced OOP Principles: Extensive use of interfaces, abstract classes (AbstractAccount, AbstractEnterprise), inheritance, and polymorphism.
  • Encapsulation & Domain Modeling: Clean separation of concerns and data hiding across distinct entity classes.
  • Exception Handling: Robust error management using custom application exceptions.
  • Software Design: Applying modular architecture, design patterns, and clean code principles.

📄 License

Copyright © 2026 Alvesss04. All Rights Reserved.

About

FCT NOVA - POO - Object-Oriented Programming (Programação Orientada por Objetos)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages