0% found this document useful (0 votes)
14 views4 pages

To-Do List

The document outlines a project for establishing a CI/CD pipeline for a To-Do List web application, highlighting the current deployment challenges such as manual processes, lack of automation, and inconsistent environments. It details the functional and non-functional requirements for the application, including task management, user accounts, and performance metrics. Additionally, it specifies the development stack and tools needed for implementation, including Python, React, PostgreSQL, and CI/CD tools like Jenkins and Docker.

Uploaded by

hamza.ironfist
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views4 pages

To-Do List

The document outlines a project for establishing a CI/CD pipeline for a To-Do List web application, highlighting the current deployment challenges such as manual processes, lack of automation, and inconsistent environments. It details the functional and non-functional requirements for the application, including task management, user accounts, and performance metrics. Additionally, it specifies the development stack and tools needed for implementation, including Python, React, PostgreSQL, and CI/CD tools like Jenkins and Docker.

Uploaded by

hamza.ironfist
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

DEVOPS ENGINEER

To-Do List Web APP

PHASE 1- PROBLEM ANALYSIS

College Name: KCT Engineering College

Group Members:

• Name: Mohammad Ali Hamza


CAN ID Number: CAN_32962430

• Name: Mohammed Rehan


CAN ID Number: CAN_32969093

• Name: Mohd Zaid


CAN ID Number: CAN_33915533

Project Overview

• Title: Establishing a CI/CD Pipeline for Automated Deployments


• Application: To-Do List Web Application
• Objective: To implement a CI/CD pipeline that automates the deployment process,
ensuring faster, more reliable, and error-free deployments for the To-Do List application.

PC1: Identifying the Problem and Core Challenges


Problem Statement
The current process for deploying the To-Do List app faces several roadblocks:

1. Manual Deployments
Deployments are handled manually, leading to delays, human errors, and
interruptions in the app's performance.

2. No Automation
Without a proper CI/CD pipeline, processes like testing, building, and deploying
take longer, increasing the risk of bugs reaching production.
3. Inconsistent Environments
Configurations for development, staging, and production environments differ,
causing unexpected failures when moving code between them.

4. User Expectations
Users need a fast, reliable task management system, but the current setup slows
down our ability to roll out new features or fixes.

Key Areas to Focus On:

• Deployment Issues: Manual workflows cause errors and downtime, affecting


users.

• CI/CD Challenges: Lack of automation slows updates and creates bottlenecks.

• User Needs: Users demand a reliable, responsive app with real-time task
updates and minimal interruptions.

PC2: Application Needs and the Right Tools


What the App Needs to Do (Functional Requirements):

1. Task Management
Allow users to create, edit, and delete tasks, and categorize them (e.g., by
priority, deadlines).

2. User Accounts
Enable users to sign up, sign in, and manage their tasks, including personal
preferences like theme or notification settings.

3. Task Progress Tracking


Provide users with the ability to mark tasks as completed or pending and track
their progress.

4. Notifications
Send reminders or alerts for upcoming task deadlines or priority updates.

5. Task Synchronization
Sync tasks across different devices so that users have a consistent view of their
to-do list.
How the App Should Perform (Non-Functional Requirements):

1. Fast Performance
The app should load quickly, with minimal lag when adding, updating, or deleting
tasks.

2. Scalability
It should handle an increasing number of tasks and users as the app grows in
popularity.

3. Security
User data, such as account credentials and task information, should be
encrypted and kept secure.

4. Reliability
Ensure the app runs smoothly 24/7, with systems in place to monitor
performance and resolve issues quickly.

5. Ease of Maintenance
Automate updates and maintenance tasks, and keep the codebase clean and
modular for easy changes.

Tools and Technologies


Development Stack

• Backend: Python (Flask or Django) for handling task management logic and user
authentication.

• Frontend: React for a responsive, intuitive user interface.

• Database: PostgreSQL to store user data, tasks, and other relevant information.

Version Control

• Git and GitHub: For version control, tracking changes, and collaborating with
team members.

CI/CD Pipeline Tools

1. Automation and Orchestration:

o Jenkins or GitLab CI: To automate builds, tests, and deployments.


o Docker: To containerize the app and ensure consistent deployments
across different environments.

o Kubernetes: To manage containers, ensuring scalability and efficient


resource utilization.

2. Infrastructure as Code:

o Terraform: To automate the provisioning of cloud resources, such as


virtual machines or storage, as needed for the app.

You might also like