Warning
This is a school project, it's not a personal project every contributor has rights to this code. It is proprietary.
A React Native application for anime enthusiasts that allows you to track what you like with authentication features.
Group 1
- Nabil Noufele MEHDI
- Nils DARGENT
- Mathis ZERARI
- Diego CARVALHO DOS SANTOS
- User authentication (Email/Password and Google Sign-In)
- Anime browsing, discovery and information page
- User profiles
- We get the data from this API : Jikan API
- We use this library to interact with the API : Jikan TS
- Node.js
- Yarn or npm
- React Native development environment
- Firebase account
- Clone the repository
- Install dependencies:
yarn install - Create a
.envfile in the root directory with the following variables:EXPO_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain EXPO_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id EXPO_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id EXPO_PUBLIC_FIREBASE_WEB_CLIENT_ID=your_firebase_web_client_id EXPO_PUBLIC_FIREBASE_IOS_CLIENT_ID=your_firebase_ios_client_id
- Go to the Firebase Console
- Select your project
- Go to Authentication > Sign-in method
- Enable Google Sign-In
- Add your app's SHA-1 fingerprint:
- For debug:
cd android && ./gradlew signingReport - Look for the SHA-1 fingerprint in the debug section
- For debug:
- Go to the Google Cloud Console
- Select your Firebase project
- Go to APIs & Services > Credentials
- Find the Web Client ID (OAuth 2.0 Client ID with type "Web application")
- Add this Web Client ID to your
.envfile asEXPO_PUBLIC_FIREBASE_WEB_CLIENT_ID
yarn start
Then choose your platform:
- Press
afor Android - Press
ifor iOS - Press
wfor web
app/- Expo Router screenscomponents/- Reusable componentsservices/- API and authentication servicesconfig/- Configuration filescontext/- React context providersconstants/- Constants and theme files
The app supports two authentication methods:
-
Email/Password Authentication:
- Users can register with email and password
- Form validation ensures secure passwords
- Error messages are displayed under each input field
-
Google Sign-In:
- Users can sign in with their Google account
- Uses
@react-native-google-signin/google-signinpackage - Requires proper setup in Firebase console
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request