feat: add readme

This commit is contained in:
2024-11-15 23:11:36 +01:00
parent ac47b134f7
commit 6a5cf570ab
2 changed files with 20 additions and 96 deletions

115
README.md
View File

@@ -1,105 +1,30 @@
# expo-react-native-paper
# featheroom
[![EAS Build](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/eas-build.yml/badge.svg)](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/eas-build.yml)
[![EAS Review](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/eas-reviews.yml/badge.svg)](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/eas-reviews.yml)
[![EAS Update](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/eas-update.yml/badge.svg)](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/eas-update.yml)
[![CodeQL](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/codeql.yml/badge.svg)](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/codeql.yml)
[![ESLint](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/eslint.yml/badge.svg)](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/eslint.yml)
[![Prettier](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/prettier.yml/badge.svg)](https://github.com/youzarsiph/expo-react-native-paper/actions/workflows/prettier.yml)
Featheroom is an alternative client to the popular education [Google Classroom](https://classroom.google.com/). It is a web application that allows students to view their assignments, grades, and announcements in a more visually appealing way. It is built using React Native and company.
This repository is a template for React Native Expo applications. It integrates Expo Router and React Native Paper. It also demonstrates how to use Github Actions for linting and formatting.
This is a submission for [Hack Club High Seas](https://highseas.hackclub.com).
![Hackatime](https://waka.hackclub.com/api/badge/U07UH9DQA4B/interval:any/project:featheroom)
## Features
## Tech stack
- Expo
- Expo Router
- Material Design V3
- Light & Dark modes with custom themes
- Cross Platform
- LTR and RTL support
- Multi lingual (`ar`, `en` and `tr`)
- CI/CD. For more info checkout this [page](https://github.com/expo/expo-github-action/tree/main)
## Platforms
- Web
- IOS
- Android
## Screenshots
![Home Screen (Tabs)](./screenshots/home-default-light.png)
![Profile Screen (Tabs)](./screenshots/profile-teal-dark.png)
![Settings Screen (Tabs)](./screenshots/settings-lime-light.png)
![Modal Screen (Stack)](./screenshots/modal-light-red.png)
![Search Screen (Stack)](./screenshots/search-orange-dark.png)
![Login Screen (Stack)](./screenshots/login-violet-light.png)
![Signup Screen (Stack)](./screenshots/signup-green-dark.png)
![Home Screen (Drawer)](./screenshots/home-blue-dark.png)
![Profile Screen (Drawer)](./screenshots/profile-olive-light.png)
![Settings Screen (Drawer)](./screenshots/settings-violet-light.png)
## Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
### Prerequisites
- Node.js
- npm
### Installation
Clone the repo:
```bash
git clone https://github.com/youzarsiph/expo-react-native-paper.git
```
Open `package.json` and update the `name` field to match your app's name:
```jsonc
{
// Change the following line
"name": "expo-react-native-paper",
"main": "expo-router/entry",
"version": "1.0.0",
...
}
```
Install dependencies:
```bash
npm install
```
Run the app:
```bash
npm start
```
## Built With
- TypeScript
- React
- React Native
- Expo
- Expo Router
- React Native Paper
- Firebase (to be changed to normal Google Cloud on release)
- Tanstack Query
- NativeWind (Tailwind)
## Platform support
- [x] Android
- [ ] iOS (will probably be supported on the first alpha release)
## How to run
1. Clone the repository
2. Run `bun install` to install the dependencies
3. Run `bun run android` to start the development server
You may also need a google-services.json file to run the app. You can get it from the Firebase console. You may need to run more commands to get it up and running.
## Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
1. Fork the Project
2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
3. Commit your Changes (git commit -m 'Add some AmazingFeature')
4. Push to the Branch (git push origin feature/AmazingFeature)
5. Open a Pull Request
## License
Distributed under the MIT License. See LICENSE for more information.
If you can help me out, please do! Note that I'm submitting for High Seas.

View File

@@ -77,7 +77,6 @@ export default function CourseBoard() {
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [announcement, courseWork, courseWorkMaterial])
// TODO: THIS DOESNT WORK RAHH SEND HELP
// inside a useeffect to make the loading spinner appear when adding a new announcement for example
useEffect(() => {
if (annIsLoading || cwIsLoading || cwmIsLoading) {