Professional Documents
Culture Documents
Speech 1
Speech 1
Speech 1
"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.
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:
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.
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.
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.
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.
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.
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 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.
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.
19)Dockerization
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.