UOVStudentCare is a mobile application designed as part of the IT3133(P) course assignment. This app is built using React Native, Expo, and various supporting libraries, providing a platform for students to log in, view their courses, and manage subject information. The application includes multiple pages for the users, such as:
- Home: The landing page that greets the user.
- Login: A user authentication page to log in with a username and password.
- Courses: A page to view the available courses for students.
- Subjects: A page displaying detailed subject information for enrolled courses.
To get started with this project, you'll need to clone the repository and install the required dependencies. Follow the steps below:
-
Clone the repository:
cd UOVStudentCare https://github.com/sharada0417/UOVStudentCare.git -
Install the dependencies:
npm install
-
Run the app in the development environment using Expo:
expo start
This will open a browser with the Expo developer tools where you can scan the QR code to run the app on your mobile device or use an Android/iOS emulator.
Below is a list of the major dependencies used in the UOVStudentCare app:
-
Expo: A framework for building React Native applications. It's used to simplify the development process.
npm install expo
-
React Navigation: A popular library for routing and navigation in React Native applications. It is used to handle screen transitions.
npm install @react-navigation/native @react-navigation/native-stack
-
React Native Paper: A library that provides Material Design components for React Native. Used for UI elements such as buttons, inputs, and text fields.
npm install react-native-paper
-
React Native Fast Image: A fast image component for React Native that allows for efficient image loading.
npm install react-native-fast-image
-
React Native Reanimated: A library that enables performant animations in React Native.
npm install react-native-reanimated
-
React Native Gesture Handler: Used for handling gestures in React Native, enabling better touch event handling.
npm install react-native-gesture-handler
-
React Native Safe Area Context: Provides safe area context for React Native, ensuring that content is not obscured by the device’s status bar or notch.
npm install react-native-safe-area-context
-
React Native Screens: Helps optimize navigation by improving the performance of navigation transitions.
npm install react-native-screens
-
React Native Vector Icons: A library for vector icons in React Native, which provides customizable icons.
npm install react-native-vector-icons
-
React Native Web: Makes it possible to run React Native components on the web.
npm install react-native-web
-
Async Storage: A simple, asynchronous, persistent key-value storage system for React Native apps.
npm install @react-native-async-storage/async-storage
Once you have installed the necessary dependencies and set up the project, you can run the app and start using the pages:
-
Home: This is the landing page that displays after login. It provides an overview of the student’s information and available options.
-
Login: This page allows users to authenticate by entering their username and password. The app checks the credentials against a list of users and, if correct, navigates to the home page.
-
Courses: After logging in, students can view the courses they are enrolled in. This page will display a list of available courses.
-
Subjects: This page displays detailed information about the subjects for each course. Students can view the subject details after selecting a course.
.
├── README.md
├── App.js
│── Components
├ ├── Loginin.js
├ ├── Home.js
├ ├── Courses.js
├ ├── profile.js
├── assets
├ ├── StudentDb.js
├ ├── Profile %profile pictures here
├ ├── logo.png
└──index.js
Contributions are always welcome! If you find any issues or want to improve the project, feel free to fork the repository and submit a pull request. Here’s how you can contribute:
- Fork the repository
- Create a new branch for your changes
- Make your changes and commit them
- Push to your forked repository
- Open a pull request to the main repository
This project is licensed under the MIT License - see the LICENSE file for details.