-
Notifications
You must be signed in to change notification settings - Fork 0
Deliverable_2
- Esteban Salazar → Architect
- Alejandro Osorno → Developer
- Pablo Betancur → Developer
- Samuel Santamaria → Developer
- General Aspects of the Delivery
- Section 1: Estimation
- Section 2: Sprint Evaluation
- Section 3: Current Sprint Planning
- Section 4: Structural and Architectural Aspects
- Section 5: Progress and Demonstration
- Conclusion and Lessons Learned
- References
The purpose of this document is to ensure consensus among team members on the software architecture design for the WorkSphere application. It also aims to apply concepts related to the SCRUM framework. The architecture outlined in this document is based on the following fronts:
- Logical View: Focuses on the main elements and design principles.
- Physical View: Focuses on the distribution of processing across devices.
- Backlog Items Estimation:
- Cost Estimation:
During the retrospective of the previous sprint, the team used Discord for the meeting and applied the Start, Stop, Continue technique. This method helped structure the team's reflections and learnings from the sprint. The team identified concrete actions to optimize the process:
-
Start:
- Begin documenting all tasks and their progress in GitHub Projects to improve visibility and team coordination.
- Assign a facilitator in Discord meetings to keep discussions concise and focused.
-
Stop:
- Stop overloading certain team members with excessive tasks. Ensure a more equitable distribution of work.
- Stop assuming all members understand priorities without clear communication. Improve task assignment clarity.
-
Continue:
- Continue using the Start, Stop, Continue technique for retrospectives as it helps identify improvement opportunities.
- Maintain collaborative sprint planning practices that have enhanced task and objective organization.
-
Create Landing Page:
As a new user, I want to see a well-designed homepage to have a clear first impression of the system's purpose and available options. -
Create Chat System:
As a user, I want access to a chat system within the platform to easily communicate with other users and event organizers in real-time. -
Schedule Events:
As a user, I want to schedule events on the platform so I can efficiently manage and organize my activities, keeping participants informed of schedules and details. -
Post Updates and News:
As a user, I want to post updates and news on the platform to stay informed about important events and relevant community updates. -
Add Favorites:
As a user, I want to add events to my favorites list for quick access to those I'm interested in and to help organize my participation. -
Implement Search-Bar:
As a user, I want a search bar on the platform to quickly find specific events or content without having to browse the entire site.
https://github.com/users/osozzz/projects/4
Driver | Attributes | Scenarios |
---|---|---|
Scalability | The application is designed to scale independently in both frontend and backend. | As the number of users grows, more resources can be added either on the client side or the server side (using Flask and Django). |
Maintainability | Modular and reusable structure with clear responsibilities by layer. | When the team needs to add new features or fix bugs, the separated layers make it easier to identify and modify the necessary code. |
Performance | Efficient server response to multiple client requests. | When many users access the system simultaneously, communication between the frontend and backend must remain fast and efficient. |
Reusability | Reusable components in the user interface. | When new interfaces or updates are needed, previously defined UI components can be reused, saving time and effort. |
Security | Protects data and business logic. | When accessing the database and performing critical operations, Django ensures secure data management and access controls are enforced. |
Application Type | Web App |
---|---|
Architectural Style/Pattern | Client/Server (Implementation): |
Justification: This style is appropriate because it clearly separates the frontend and backend and allows greater permeability of requests. | |
Implications: Facilitates the independence of the frontend and backend, allowing both parts to be developed separately and scale independently. | |
3-Tiers / N-Tiers (Implementation): | |
Justification: The application will follow a three-layer structure: presentation layer, business logic layer, and data layer. | |
Implications: Provides clear separation of responsibilities, improving the system's maintainability and scalability. | |
Object-Oriented (Structure): | |
Justification: Django uses object-oriented programming principles to organize the code around classes and objects. | |
Implications: Facilitates the modeling of entities and their relationship with the database and business logic. | |
Layered (Structure): | |
Justification: The database follows a layered approach where data access and business logic layers are clearly separated. | |
Implications: Increases code clarity and robustness, with well-defined layers that allow system scalability. | |
Programming Languages | Python, HTML, CSS, JS. |
Technical Aspects | SQLite3 |
Framework | Django |
- Development Progress:
- Repository Link: WorkSphere's Repository
The team has effectively leveraged Django to optimize the development process in Sprint 2. The framework's integrated tools, such as the ORM and authentication management, have facilitated database interaction and security implementation. The collaboration and constant communication within the group have been key to maintaining a clear and unified object-oriented structure in the code. The use of Django templates has simplified the creation of dynamic user interfaces, allowing the team to focus on business logic without added complexity. This approach has improved our efficiency and laid the groundwork for smoother deployment.
⭐ WorkSphere - A project by Esteban, Juan Pablo, Samuel, and Alejandro.
💻 Built with 💡 and dedication.
📅 Project Deadline: December 2024.
📫 For any questions or feedback, feel free to reach us at: [email protected], [email protected], [email protected], or [email protected]
🌐 Visit our Repository for more details.
Made with 🚀 and ☕ by Esteban, Juan Pablo, Samuel, and Alejandro.
💡 Quick Links
🔗 External Resources