Introduction • Key Features • How To Use • License
Welcome to my app, developed using React Native! This is a cross-platform mobile application that can be run on both iOS and Android devices. The app provides users with a seamless and convenient way to connect to 42's intra and manage their account information.
With my app, users can securely authenticate with their 42 intra credentials using OAuth2.0 protocol, and access their personal information, such as their profile picture, campus location, and academic progress.
I've implemented several features to enhance the user experience, including a bottom navigation bar for easy navigation between different sections of the app, a loading spinner to indicate when data is being fetched from the API, and form validation using React Hook Form and Yup to ensure that user input is accurate and complete.
My app also leverages the power of the Expo framework, which allows for easy deployment of the app to both iOS and Android devices. To get started, simply follow the instructions provided in the "How To Use" section to clone and run the app on your local machine.
I hope you enjoy using my app and find it to be a useful tool for managing your 42 intra account!
- User authentication with 42's intra (42 API OAuth)
- AuthContext and Refresh Token for handling authentication
- Stack Navigator and Bottom Navigation for navigation
- Loading component for better user experience
- Form validation using React Hook Form and Yup
- Display user profile, including picture, level, and skills
- Display user's projects, with links to their git repos
- Display user's campus location
- Search for other users and display their profiles
To run this app on your local machine, follow these steps:
- Clone this repository
- Install dependencies by running
npm install
- Create an
.env
file at the root of the project with the following contents:
CLIENT_ID=<your_client_id>
CLIENT_SECRET=<your_secret_id>
TOKEN_URL=https://api.intra.42.fr/oauth/token
SCOPES=public%20projects%20profile
- Replace
YOUR_CLIENT_ID
andYOUR_CLIENT_SECRET
with your own 42 API OAuth credentials, which can be obtained from the 42 API website. - Run the App
- Run the app for iOS
npm run ios
- Run the app for Android
npm run android
- If using Expo
npx expo start
- Follow the instructions in the console to launch the app on your device or simulator
MIT