Speech 1

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 5

1) kelmet lbideya

"Hello Mr. President, and hello to all the jury members. Thank you for being here
and listening to me today.
I’m really thankful for my professional supervisor, Mr. aymen ben ammar and my
academic supervisor, Mrs. amira kamel innoubli.
They helped me a lot during my internship.
I also want to say a big thank you to my family, friends, and colleagues who came
here today. Your support means a lot to me.
I’m here to talk about my last internship. It was at teamwill consult and it lasted
six months.
This internship was very important for me because it’s the last step before I get
my National Software Engineer Diploma."

2) table of context
"Okay, let’s look at what I’m going to share with you today. I’ve split my talk
into a few main parts to make it easy to
follow along.
First, we'll talk about the company where I interned – the General Context
Then, we'll jump into the Project Context. Why did I do this project?
Next, we'll chat about the Functionalities how I figured out what needed to be done
and set some goals for my work ?
After that, I'll share the Methodology & Planification which i've worked with and
why we chosed it
Now, let's dive into the Design & Architecture how I came up with ideas and made
plans for my projects?
As we get hands-on with the project, we'll hit the Realization part.
Finally, we'll wrap it up with the Conclusion & Perspectives. What did I learn,
what's next, and why does it all matter?
I hope you’ll enjoy hearing about my experience. Let’s get started with the first
part!"

3) General context
"So, in the first part, called General Context, we are going to talk about the:
Host company presentation
I’m going to start by sharing some stuff about teamwill, where I had my internship.

Okay, let’s start with telling you more about teamwill"

4) host company
I am delighted to introduce Teamwill,

5) project context:
in this part the project context i'm going to share with you about some problems or
challenges I faced the problematic
then i will talk about what is the current state and applications of this same
domain
and last i will let you know about the solution i've proposed

6) Problematic
Our challenge is clear: develop a state-of-the-art data backup and restoration
platform on the cloud. Our focus is threefold:

Data Security: We're committed to implementing robust encryption and access


controls to ensure the utmost safety and privacy of user data.

Ease of Use: Technology should be accessible to everyone. We aim to simplify the


backup and restoration process, making it intuitive for users of all technical
levels.
Reporting: Transparency is key. Users should easily track their backups and access
reports. Our goal is to present this information in a clear and user-friendly
manner.

7) Study of existing
let's talk about two key players in the world of enterprise data backup and
management: Druva and Veeam.

Druva: These guys are like the superheroes of data protection. They cover
everything from your computer at work to the data floating around in the cloud. The
only hitch we found is that they're a bit mysterious about their pricing. It's like
trying to buy a car without knowing the cost – a bit tricky.

Veeam: Think of Veeam as your reliable friend for keeping your Amazon Web Services
(AWS) data safe and sound. They've got automated backups, recovery options, and
top-notch data protection. The only catch is that they have so many features; it's
like being in a candy store with too many choices. Some folks might find it a tad
confusing to pick the right ones.

8) Proposed solution
I'm thrilled to share our solution for TeamWill Tunisia which is The implementation
of a generic platform of backup and restoration data.This project involves creating
a stock management platform for suppliers, offering features like real-time
inventory tracking, order management, and data backup.

The goal is to provide an efficient and user-friendly solution that helps suppliers
optimize their stock control, improve order processing, and gain valuable insights
from data analytics while ensuring data security and compliance. The project will
leverage technologies such as Vuejs , Nodejs , cloud services, and DevOps tools for
efficient development and maintenance.

9)functional requirement

Let's talk about what our system needs to do. ie've got some functional
requirements to make sure everything runs smoothly.

User Management: We want to make sure that handling users is a breeze – creating
accounts, updating details, and saying goodbye when they leave. It's like the
backstage pass to our system.

User-Friendly Dashboard: We want our users to have a dashboard that's easy on the
eyes and tells them everything they need to know without needing an instruction
manual.

Inventory Management: We need to keep track of what's inside – how much we have,
when we got it, and when it's time to restock. It's like making sure we never run
out of our favorite products.

Order Processing: When someone says, "I want this," our system needs to process
that request smoothly – from confirming the order to making sure it gets to the
right place on time.

Dockerization: Dockerization is like putting our system into a box that can easily
be moved around. It helps us keep things neat and organized, like packing your
stuff for a trip.

Backup: Just like making a copy of your important files, our system needs to have a
backup plan. It's our safety net – in case something goes haywire, we can always go
back to a version that worked like a charm.
Rollback: This feature ensures we can revert to a previous version seamlessly.

9)non functional requirement

let's turn our attention to the important non-functional requirements that form the
backbone of our system.

Performance:
Our system is built for efficiency, ensuring speedy data backup and restoration.
It's also equipped to handle multiple backup and restore requests simultaneously.

Availability:
Reliability is key. Our system is available 24/7, with minimal downtime for
maintenance. We offer high availability configurations for crucial data, ensuring
constant access.

Security:
Security is non-negotiable. All data is encrypted during transmission and storage,
with robust access controls and authentication. AWS, our cloud partner, ensures the
overall security of our platform.

Usability:
User experience matters. Our interface is intuitive for both administrators and
end-users. Reporting features provide clear insights into backup and restoration
activities, making the system user-friendly and transparent.

10) mzthodology :
For managing our project we decided to follow agile methodology and more
specifically scrum which is a great way to assure the efficiency of the project.

11) sprints:
During my internship, I worked on a total of 6 sprints to bring our project to
life. The first sprint was ...

12) TECHNOLOGIES
we're diving into the exciting world of MEVN technologies, Docker, and the mighty
S3 bucket – a trio that can transform the way we build, deploy, and store our
applications.

MEVN Technologies: The Power of the Stack

First up, MEVN – MongoDB, Express.js, Vue.js, and Node.js. It's like assembling a
team where each member brings a unique strength. MongoDB handles our data,
Express.js powers our server, Vue.js crafts our dynamic user interfaces, and
Node.js ensures everything runs seamlessly. Together, they form a stack that's not
just powerful but also incredibly flexible.

Docker: The Magic Box for Apps

Now, let's talk Docker. Imagine if every time you wanted to share an app, you had
to explain how to set it up – a bit of a hassle, right? Docker solves that. It's
like packing your app into a magic box, ensuring that it runs the same way, no
matter where it goes. It simplifies deployment, saves us from the "it works on my
machine" headaches, and makes our lives as developers a whole lot smoother.

S3 Bucket: Where Data Finds Its Home


Finally, let's talk S3 bucket. Think of it as your digital storage warehouse. It's
part of Amazon Web Services (AWS) and provides a secure, scalable place to stash
our data. Whether it's images, videos, or application backups, the S3 bucket is the
go-to spot. It's like having a treasure chest that keeps our valuable data safe and
easily accessible.
and about jenkins:
Meet Jenkins – the conductor in our tech orchestra. If our MEVN application,
Docker, and S3 bucket form the heart and soul of our tech stack, Jenkins is the
maestro ensuring a harmonious performance.
13) use case
Now we will talk about the application’s design, first we will start by the use
case diagram, I have mainly 3 actors. The admin can manage customers, track orders,
view statistics and remove products. We have the customer he can recieve the
order . and finally we have provider he is responsible for supplying products .

14) class diag


Moving to the class diag. I have a user that can be either a supoplier or
administrator who can manage the stock and the products dontained in the stock ,
manage the orders , the shippers and the customers. and the products are provided
by the product providers .
15) mockup

I'm thrilled to give you a sneak peek at the dashboard mockup I've implemented for
our project. It's like the control center, designed for simplicity and ease of use.
The goal is to provide a visual guide without unnecessary complexities.

16) phy architecture

Now we will talk about the application architecture. For the physical one, we have
a web ui, server backend, and the database management system.

Our front end framework connects with the server backend framework with a http
request response. It is composed of a Model-View-View-Model (MVVM) mode, where data
and views are separated so that they require view model listeners to communicate
with each other .

For the backend, we have express js as a framework. It is composed of three main


layers: the router, controller, and the model. This framework connects with MongoDb
through Mongoose, our ODM (object data modeling).
17) logical architecture

For the logical architecture ,we are using an n tiers architecture composed from
the client who asks data from our backeend framework which sends the request to
nodejs the runtime environment which by itself parse the request and send it to
express js the backend framework and finally it will ask for data from mongodb in a
way that our DBMS undrestood. After that, mongodb returns the data, express return
the request vuejs gets the request data from node and displays it for the client.

18) backup architecture

I'd like to share a brief overview of the backup strategy I've implemented for my
application on AWS. After setting up the environment on an EC2 instance and
Dockerizing the application, I established a Jenkins pipeline for backup.

This pipeline orchestrates a meticulous backup process, creating copies of Docker


volumes, zipping them, and sending them to an S3 bucket. It also handles MongoDB
data, creating a database dump and storing it in the same S3 bucket.
Should a rollback be needed, Jenkins seamlessly retrieves the backups from the S3
bucket, ensuring a reliable and efficient recovery process. This end-to-end
solution not only safeguards both application and database data but also enhances
resilience and manageability in the AWS environment.

19)Dockerization

To deploy my application on AWS, I followed a comprehensive process that involved


creating a deployment environment on an EC2 instance. After setting up the EC2
environment, I dockerized my application, which consists of a front end developed
using Express.js, a back end developed using Node.js, and a MongoDB database. I
divided the application into three Docker images to ensure modularity and
scalability.

20) backup
For backup purposes, I established a Jenkins pipeline with the necessary
permissions to access the EC2 instance. This pipeline orchestrates the backup
process by making copies of the Docker volumes on each container, zipping them
separately, and sending them to an S3 bucket. The pipeline also interacts with the
MongoDB container, creating a database dump, compressing it, and storing it in the
same S3 bucket.

21) rollback
This robust backup strategy ensures the preservation of both application and
database data. Additionally, Jenkins is configured to handle restoration
seamlessly. In the event of a rollback requirement, Jenkins can retrieve the zipped
backups from the S3 bucket and restore the application and database to their
previous states, providing a reliable and efficient recovery process. This end-to-
end deployment and backup solution enhances the resilience and manageability of the
application in the AWS environment.

22)conclusion

"In conclusion, this internship at teamwill has been a highly rewarding experience,
allowing me to apply my knowledge
in a real-world setting and contribute to meaningful projects. I had the
opportunity to work on various aspects of the system,
this platform simplifies data backup and restoration with user-friendly features,
cost-efficiency, and robust security. It offers valuable reporting, and seamless
integration with other essential tools. This platform is a reliable solution that
enhances data management and ensures business continuity.

23)
Perspectives

You can monitor your instances using Amazon CloudWatch, which collects and
processes raw data from Amazon EC2 into readable, near real-time metrics. These
statistics are recorded for a period of 15 months, so that you can access
historical information and gain a better perspective on how your web application or
service is performing.

You might also like