Skip to content

YehiaMousaX/ACL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction : Hello, this is the EZEG team! We have been working together on a variety of software engineering projects, One of them was the Advanced Computer Lab . We are proud of our accomplishments, and look forward to continuing to work together to create innovative products and services

Git Workflow : The team follows a specific process for version control. Firstly, team members are divided to three branches 3-1-1 and every branch consists of requirement 35-13-12 and measures are taken to ensure that no branch requirements are dependent on any other requirement. When the pull request is ready and all the requirements are met, a random teammate reviews the code and makes sure that it fits the established standards. After the reviewer content with the code, the pull request is merged into the main branch, ensuring that the requirement is completed.

  •   We link the pull request to the issue, enabling the issue to be closed automatically and creating a good system for tracking. It also helps answer questions like, “What was this pull request for exactly?” It provides additional visibility into the work that was done, allowing us to improve our processes and ensure that we are following best practices. It also helps us keep track of our progress.
    
  • Code reviews are essential for ensuring the quality and accuracy of a codebase. Not only do code reviews give the team the opportunity to evaluate their own work, but also provide an opportunity for colleagues to provide feedback to help improve the code and identify potential problems. Code reviews are an invaluable tool for any development team, and should be included in every software engineering process. They help to minimize errors, increase the overall quality of the codebase, and encourage collaboration between team members.

Code Style : In a short-term project, establishing a standard code style is not easy. It typically takes time for the team to discuss and reach consensus on the requirements and constraints for the coding style. Code reviews are essential for this process, as they provide oversight to ensure all code is written to the same standards and any discrepancies are identified and resolved quickly. Having a clear and consistent coding style is critical for any project, as it helps ensure the codebase is maintainable and future changes can be implemented without unexpected issues..

Team Programming : Team programming is a great way to help a team work better. Working together allows the team to share ideas, come up with solutions quickly, and learn from each other. It also builds friendships and strengthens the team. Team programming divides difficult requirements into smaller parts, and having someone review the work helps ensure accuracy. In conclusion, team programming is an excellent tool for improving efficiency, productivity, and collaboration.

Team Spirit and Vision Team success depends on having the same goal and working hard. Committed members willing to go the extra mile can yield better results and a faster work process. Learning and trying new things is key for a team to improve and keep going. It takes courage to try something new, but it is necessary for better results.

Code Structure :

Front End :

  •   Axios : used for linking between frontend and backend
    
  • Use of Custom Hooks : The use of custom hooks enables us to develop the fetching logic away from the actual tsx component, so maintaining and changing fetching logic is kept away from styling and structuring components.
  • Use html classes and css files for styling each page
  •   Benefits
    
  • Avoid the hassle of writing inline styling.
  • Improve the Readability of component.
  • An index.js file to import and export the components that are used and imported outside of this directory
  •   like this:
    

import CourseHeader from '../../CourseSections/CourseHeader'; import CourseContent from '../../CourseSections/CourseContent'; import CourseReviews from '../../CourseSections/CourseReviews';

Back End

  •   Proper file structure makes backend development easier. It is not a good idea to put the whole backend in one big file, which is why it is important to separate models, controllers, routes, services, and utilities.
    
  •   Putting controller logic on each role to route. It helps with organizing routes and controllers.
    
  •   Proper database design is also very important. It saves time, reduces the hassle of maintaining consistency, and avoids data redundancy as much as possible. Additionally, it affects performance, and there are trade-offs to consider when using hooks vs. virtual fields, …etc
    

Team Members

Abdelrhman Yasser Yousef Ahmed Hamdy Elkallawy Seif Ahmed Zweeta Yehia Samir Mousa Mohamed Dawod

The EZEG team has worked hard to put together a comprehensive software engineering process. We have discussed the importance of version control, code style, Team programming, team spirit and vision, and following standards. All of these topics are essential to ensure a successful project.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages