SLC S23W2 - How to Start a Project - Candidate Evaluation PlatformsteemCreated with Sketch.

in techclub •  12 hours ago 

created with html code

Welcome to the second week of our Tech & Dev Club learning series, This week, I’m excited to share insights from a project I developed four years ago during my internship, this project helped me gain valuable professional experience, and over the coming weeks, I will break it down step by step.


This week, we’ll focus on how to start a project, define an idea, the first steps, UML diagrams, and methodologies, whether you’re working solo, as a team, or with a client.

What You’ll see

  • Understanding UML (Unified Modeling Language) and its importance
  • How to read UML diagrams (use case, class, and sequence diagrams)
  • Introduction to Scrum methodology
  • Understanding the backlog in project management
  • Tools used for Scrum and UML

Next Topics:

  • Week 3: DevOps (Docker)
  • Week 4: Frontend development (React & TypeScript)
  • Week 5: Database management (SQL & ORM)
  • Week 6: Backend development and integration (golang)

Project Overview

The main objective of this project is to design and develop a web application that is flexible, scalable, and meets high standards in code quality, security, and performance.

1. Initial Research

Before starting any project, it's important to analyze existing solutions and define the domain of the project. This helps identify gaps and opportunities for improvement.

2. Choosing a Development Methodology

For this project, I selected Scrum, an Agile framework that allows for iterative development.

What is Scrum?

Scrum is a framework for managing software development projects through short iterations called sprints. Each sprint delivers a set of features that contribute to the final product.

Tools Used:

  • Trello: Used for backlog and sprint planning

image.png

3. Application Architecture

We will use the MVC (Model-View-Controller) Web API architecture. This approach separates:

  • Model: Handles data and business logic
  • View: Presents data to the user (frontend)
  • Controller: Manages user input and application logic

Key Components:

  • Client: The application user
  • Controller: Processes HTTP requests
  • Model: Represents application data

image.png


Understanding UML and Reading Diagrams

What is UML?

UML (Unified Modeling Language) is a standardized way to visualize the structure and behavior of a system.

Key UML Diagrams:

  1. Use Case Diagram – Shows how users interact with the system.
  2. Class Diagram – Defines the structure of the system and its relationships.
  3. Sequence Diagram – Illustrates interactions between components over time.

How to Read UML Diagrams

  1. Use Case Diagram:
    • Identifies system functionalities
    • Shows actors (users) and their interactions with the system
    • Example:
      • Admin: Manages questions, candidates, and tests
      • Candidate: Takes tests and receives results

image.png

  1. Class Diagram:
    • Defines the objects in the system and their relationships
    • Example:
      • User class with attributes (email, password)
      • Admin class inherits from User and has additional permissions

image.png

  1. Sequence Diagram:
    • Shows interactions over time
    • Example:
      • A user logs in ==> System checks credentials ==> User receives access

image.png

Tools Used for UML:

  • Enterprise Architect: Used to create and manage UML diagrams link

Defining Project Requirements

1. Functional Requirements

The web application must provide:

  • Admin features:
    • User authentication
    • Managing questions, candidates, and tests
  • Candidate features:
    • Taking tests online
    • Viewing results
    • Receiving notifications

2. Non-Functional Requirements

These define system constraints:

  • Security: Secure authentication and data protection
  • Usability: User-friendly interface
  • Compatibility: Works across browsers and devices
  • Performance: Fast response times
  • Data Integrity: Prevent errors and data loss

Sprint Planning & Backlog

In Scrum, the backlog is a prioritized list of tasks to be completed in a sprint.

###Backlog Example:

FeatureIDUser StoryPriority
Authentication1.1"As an admin, I want to log in with email and password."High
Session Management1.2"As an admin, I want my session to close on logout."Medium

Summary of Week 2

What We Learned:

☑️ How to start a project and define an idea
☑️ Understanding UML diagrams and how to read them
☑️ Scrum methodology and backlog management
☑️ Application architecture (MVC)
☑️ Tools used for Scrum (Trello) and UML (Enterprise Architect)

What’s Next?

Next week, we will dive into DevOps and introduce Docker for containerizing our application.

Stay tuned and keep learning!

I will share some interfaces for the application and explore them step by step, following the plan I presented. It’s important to start a project correctly by selecting the right methodology and architecture. Additionally, defining both functional and non-functional requirements is crucial. This process is similar to creating a specifications document, which helps clarify the idea and ensure a structured development approach. Taking this step is essential for maintaining a clear and efficient development process.

image.png
Authentication interface
image.png
Question type selection interface
image.png
Interface for adding questions to a test
image.png
Interface for adding an MCQ-type question
image.png
Interface for inviting a candidate to a test
image.png
Candidate welcome interface

--

GitHub Repositories

Project Resources


What can you share in the club?

Our club is all about technology and development including:

  • Web & Mobile Development
  • AI & Machine Learning
  • DevOps & Cloud Technologies
  • Blockchain & Decentralized Applications
  • Open-source Contributions
  • Graphic Design & UI/UX

Any posts related to technology, reviews, information, tips, and practical experience must include original pictures, real-life reviews of the product, the changes it has brought to you, and a demonstration of practical experience

The club is open to everyone. Even if you're not interested in development, you can still share ideas for projects, and maybe someone will take the initiative to work on them and collaborate with you. Don’t worry if you don’t have much IT knowledge , just share your great ideas with us and provide feedback on the development projects. For example, if I create an extension, you can give your feedback as a user, test the specific project, and that will make you an important part of our club. We encourage people to talk and share posts and ideas related to Steemit.

For more information about the #techclub you can go through A New Era of Learning on Steemit: Join the Technology and Development Club. It has all the details about posting in the #techclub and if you have any doubts or needs clarification you can ask.


Our Club Rules

To ensure a fair and valuable experience, we have a few rules:

  1. No AI generated content. We want real human creativity and effort.
  2. Respect each other. This is a learning and collaborative space.
  3. No simple open source projects. If you submit an open source project, ensure you add significant modifications or improvements and share the source of the open source.
  4. Project code must be hosted in a Git repository (GitHub/GitLab preferred). If privacy is a concern, provide limited access to our mentors.
  5. Any post in our club that is published with the main tag #techclub please mention the mentors @kafio @mohammadfaisal @alejos7ven
  6. Use the tag #techclub, #techclub-s23w2, #country, other specific tags relevant to your post.
  7. In this first week's #techclub you can participate from Monday, February 24, 2025, 00:00 UTC to Sunday, March 02, 2025, 23:59 UTC.
  8. Post the link to your entry in the comments section of this contest post. (Must)
  9. Invite at least 3 friends to participate.
  10. Try to leave valuable feedback on other people's entries.
  11. Share your post on Twitter and drop the link as a comment on your post.

Each post will be reviewed according to the working schedule as a major review which will have all the information about the post such as AI, Plagiarism, Creativity, Originality and suggestions for the improvements.

Other team members will also try to provide their suggestions just like a simple user but the major review will be one which will have all the details.


Rewards System

Sc01 and Sc02 will be visiting the posts of the users and participating teaching teams and learning clubs and upvoting outstanding content. Upvote is not guaranteed for all articles. Kindly take note.

Each week we will select Top 4 posts which has outperformed from others while maintaining the quality of their entry, interaction with other users, unique ideas, and creativity. These top 4 posts will receive additional winning rewards from SC01/SC02.

Note: If we find any valuable and outstanding comment than the post then we can select that comment as well instead of the post.



Best Regards
Technology and Development Club Team

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Upvoted! Thank you for supporting witness @jswit.