Edukadad 2 Edited 4
Edukadad 2 Edited 4
Edukadad 2 Edited 4
Materials:
Title :Edukada
Activity Steps:
1. Introduction to Learnify:
We have an innovative mobile educational application that aims to develop a dynamic learning
platform for cross-platform development in response to the growing needs of the digital age. This
proposal is aimed at providing complete training that will enable learners to compete favourably in
the software development industry.
A meticulously crafted curriculum is the foundation of our proposal in which the significance of
cross-platform development is explained. Our app seeks to immerse students into a transformative
world of current development practices that can lead them into deeper understanding of cutting-edge
trends and innovations influencing web and mobile app development.
Participants will go through interactive modules where they will experience hands-on learning by
undertaking fundamental developmental stages as well as mastering crucial ideas involved. Students
will gain practical skills under be guided with practical skills from system configuration for web
and mobile platforms, designing user interfaces prioritizing usability and responsiveness among
others, skills applicable directly in working situations. Come join us on this educational voyage
where innovation meets opportunity; together let’s design software’s future.
Figure:1.4 Installing packages This Website, you can get reference packages to install in your code.
installing for Django- This Django is useful for our project, We think this Django is better than other
backend site.
Creating web application platform
Installing react web project
Figure:2.4 Expo go
This expo go can make easier your applications and can use as expo go
Figure:3.1 Eas login account
The last is the extensions for our VSCODE to make easier by downloading or installing the need of our code
in the following:
1. React Snippets- React snippets are pre-written pieces of code that streamline your React
development process. They act as shortcuts, allowing you to quickly insert commonly used React
constructs into your codebase, saving you time and effort.
2. Prettier- Code formatter is a popular VS Code extension that helps you automatically format your
code according to a set of predefined rules. This ensures consistency in your code style, making it
easier to read and maintain, especially when working on a project with multiple developers.
Seamless User Experience: We'll design the user journey to ensure smooth navigation
and interaction for both students and educators/librarians.
Library Design: Browsing functionalities will be designed for various learning material
types (free and paid) with clear pricing and payment options.
Quiz Design: An intuitive interface will accommodate short and long quizzes with
different question types and answer explanations for feedback.
Payment Design: A secure and user-friendly payment flow will be ensured forcash,
online payment, or credit card transactions (if applicable). Integration with payment
gateways will be considered.
Mobile App Design (if applicable): The design will be adapted for a mobile
experience, focusing on easy browsing, quiz taking, and payment options.
Getting Feedback: We'll conduct regular design reviews with stakeholders and users to
gather feedback and continuously improve the design.
Breaking it Down: We'll break down the development tasks into smaller, manageable
pieces and assign them to development teams.
Agile Sprints: We'll use Agile methodologies like Scrum or Kanban to manage
development in sprints. Here's a sample breakdown of potential sprints (adapt based
on your specific needs):
Core Features Sprint: Build core functionalities like searching, browsing, and accessing
free learning materials in the first sprint (1-2 weeks).
Quizzing System Sprint: Develop the quizzing system in another sprint, focusing on
both short and long quizzes, question types, and answer explanations.
Payment Integration Sprint (if applicable): Integrate a secure payment gateway for
various payment methods in a dedicated sprint. User authentication and secure
payment processing will be a focus.
Mobile App Sprint (if applicable): Develop the mobile app (React Native) in a
separate sprint, focusing on core functionalities like browsing, quizzes, and payment
options tailored for mobile devices.
Final Integration Sprint: In a final sprint, all components will be integrated and tested to
ensure a cohesive and functional platform. This includes testing, debugging,
performance optimization, responsive design for web and mobile platforms (if
applicable), and quality assurance checks.
Communication is Key: Regular sprint planning meetings will be held to define tasks
for each iteration and maintain a structured workflow. Collaboration betweendevelopers,
educators/librarians, and students is encouraged to ensure alignment with project goals.
Testing Strategies: Here's a breakdown of potential testing strategies for each sprint:
Core Features Sprint Testing: Functionality of search, browsing experience, and access
to free learning materials will be tested.
Quizzing System Sprint Testing: Short and long quizzes, question types, answer
explanations, and quiz grading will be rigorously tested.
Payment Integration Sprint Testing (if applicable): The payment gateway for
cash, online payment, or credit card transactions will be rigorously tested to
ensure secure user authentication and payment processing.
Mobile App Sprint Testing (if applicable): We'll test functionalities on various mobile
devices, focusing on usability and performance.
Step 5. Deployment
App Store Clearance: Depending on the target devices (iOS or Android), we'll submit
the app to the respective app store for review and approval. This process can take some
time, similar to getting clearance for a new aircraft.
Limited Beta Test (Optional): Before a full public release, we might conduct a
limited test with a small group of users. This allows us to gather feedback and make
final adjustments, just like a pre-launch test flight.
The backend is the unseen force behind Learnify, handling user data and payments.
Here's how we'll get it mission-ready:
Ground Control Test: Similar to the web interface, we'll test the backend on our own
servers first to ensure everything is functioning flawlessly.
Joining the Flight: Once testing is complete, the backend will move to a public server
alongside the web interface, ensuring smooth collaboration between both parts.
Step 6. Maintenance
Keeping it Fresh: The world of education and technology is constantly evolving. We'll
stay on our toes by following industry trends, listening to user feedback, and implementing
new features to improve Learnify. This could involve adding new ways to learn, like
different question types or payment options based on what users need.
Bug Zappers: No app is perfect, and unexpected bugs can pop up. We'll have a
dedicated team of bug detectives to identify, diagnose, and fix any glitches users
encounter. This ensures a smooth and frustration-free experience for everyone.
Performance Pit Crew: Regular checkups help us identify areas where Learnify might
slow down under heavy traffic. We'll be proactive and fine-tune the platform to ensure
fast loading times and a responsive user experience, keeping things running smoothly.
Security Shield: Security is a top priority when dealing with user data and transactions.
We'll continuously update our security measures and conduct regular check-ups to find
and address any weaknesses. This safeguards user information and protects against
potential security threats.
Content Refresh: Keeping the learning materials up-to-date and relevant is crucial. We'll
encourage educators/librarians to regularly update their content and add new materials to
cater to the ever-changing needs of students.
The diagram shows user interactions like browsing by category, taking quizzes, and potentially managing a
personal library. These can be mapped to Learnify with adjustments like "View Book" becoming "Access
Learning Material." Additionally, specific Learnify features like uploading materials (for
Educators/Librarians) or payment processing (if applicable) would need to be included.
Figure:4.1 Context Diagram for Learnify
It shows three main user groups: Students, Instructors, and potentially an Administration team. Students
request access to courses, learning materials, and quizzes, and receive results and feedback. Instructors create
and manage courses, upload materials, and communicate with students. The Administration (optional) handles
user accounts and maintains the LMS platform for smooth operation. This is a simplified view, and the actual
LMS would have more internal processes to handle these data flows.
React JS:
We've chosen to implement our project using React.js for several key reasons. Firstly, React's component-
based architecture allows us to break down our user interface into reusable and modular components. This not
only enhances code organization but also facilitates scalability as our project grows. React's virtual DOM also
enables efficient rendering of UI updates, ensuring a smooth and responsive user experience. With React's
declarative syntax, we can easily define how our UI should look based on the underlying data, making our code
more readable and maintainable. Furthermore, React's one-way data binding simplifies data management and
reduces the risk of unexpected side effects. Lastly, React's extensive ecosystem and active community provide
us with a wealth of resources and support to accelerate our development process and address any challenges we
encounter along the way. Overall, choosing React.js for our web implementation empowers us to build a
robust, scalable, and user-friendly project.
Next.js
We've opted to utilize Next.js for the implementation of our project for several compelling reasons. First and
foremost, Next.js offers a powerful framework built on top of React.js, providing us with a solid foundation for
building server-rendered and statically-generated web applications. This approach ensures that our project is
not only highly performant but also optimized for search engines and social media sharing, ultimately
enhancing its visibility and accessibility. Moreover, Next.js simplifies the development process by offering
features such as automatic code splitting, route prefetching, and hot module replacement, thereby streamlining
our workflow and improving developer productivity. Additionally, Next.js seamlessly integrates with popular
technologies like TypeScript, GraphQL, and CSS-in-JS, allowing us to leverage modern tools and techniques to
enhance the functionality and aesthetics of our project. Furthermore, Next.js provides robust support for server-
side rendering and API routes, enabling us to create dynamic and interactive web experiences while
maintaining a clean and maintainable codebase. Overall, by choosing Next.js for our web implementation,
we're able to deliver a fast, scalable, and feature-rich project that meets the demands of modern web
development.
Figure 13.5 Next.js website
Tailwind CSS:
We've chosen Tailwind CSS for our project's web implementation because it offers a streamlined, utility-first
approach to styling. With its extensive set of pre-defined utility classes, Tailwind CSS allows us to rapidly
build and customize our user interface while promoting code maintainability and scalability. Its seamless
integration with modern front-end workflows and extensive customization options make it the ideal choice for
creating a polished and responsive design that aligns with our project's goals.
React Native
We're using React Native for our mobile implementation because it enables cross-platform development with
JavaScript, streamlining the process and saving time. With access to native components and APIs, React Native
ensures a native-like experience and smooth performance. Its hot reloading feature speeds up development and
enhances productivity, allowing us to create high-quality apps for both iOS and Android platforms efficiently.
Expo
We've opted for Expo Go for our mobile implementation because it allows us to develop and preview React
Native apps directly on our devices with ease. Its simplicity, real-time updates, and access to pre-built
components streamline development and enhance productivity, enabling us to focus on delivering a great user
experience efficiently.
Figure 14.3 Expo Go Website
Clerk Auth
We've chosen Clerk Auth for our project's mobile implementation because it offers a seamless and secure
authentication solution. Clerk Auth provides ready-to-use authentication flows, including login, registration,
and password reset, reducing the development time and effort required to implement these features. With Clerk
Auth, we can easily integrate authentication into our mobile app with just a few lines of code, saving us
valuable development resources. Additionally, Clerk Auth offers advanced security features such as multi-
factor authentication and passwordless login, ensuring the protection of our users' accounts and data. Its
intuitive dashboard allows us to manage users and permissions effectively, providing us with greater control
and visibility over our app's authentication system. Overall, by using Clerk Auth for our mobile
implementation, we can provide a smooth and secure authentication experience for our users while minimizing
development overhead.
Users begin by logging into the Edukada Mobile App. If login fails, they're directed to register; if successful,
they proceed to the homepage. If users choose to register, they provide necessary details and are then
redirected back to the login screen. Users land on the homepage, where they find buttons for Courses,
Explore, and Profile. Users can view available courses by selecting the Courses button. Users can take trivia
quizzes by selecting the Explore button. Users can view their profile, including credentials (username, email),
and can log out from their profile. The activity concludes once the user logs out or finishes their session.
Assessment:
Activity No : #2
Activity Name : Comprehensive Cross-Platform Application Development Laboratory:
Exploring Mobile, Web, and Emerging Technologies with DFD and UML
Documentation
Student ID : 2021300379
2021302109
Student Name : Sayan, Kenneth Angel M.
Ladra, Raff Shan Rowenn
Gucor, Nathaniel Mari
Belisario Saguindan Joe Lejan
Course & Year BSIT – 3th Year Section : R9