Noti is a full-stack social network application that allows users to set reminders to turn off parking apps and post updates on cleared parking spots. This application is built using Node.js, TypeScript, Express, Jest for testing, and React Native (Expo) for the front end.
- User authentication and authorization using JWT and Google login
- Setting reminders to turn off parking apps
- Posting updates on cleared parking spots
- Viewing updates from other users on parking
- Notifications to remind users to turn off the app
- Responsive UI
- React Native (Expo)
- TypeScript
- UI kitten
- Node.js
- Express
- TypeScript
- Jest (for testing)
- Node.js
- npm or yarn
- Clone the repository:
git clone https://github.com/shaiMatz/Noti.git
cd Noti- Install the backend dependencies:
cd backend
npm install- Create a .env file in the backend directory and add your environment variables:
PORT=<your_port>
MONGO_URI=<your_mongodb_uri>
ACCESS_TOKEN_LIFE=<your_access_token_life>
ACCESS_TOKEN_SECRET=<your_access_token_secret>
REFRESH_TOKEN_SECRET=<your_refresh_token_secret>
TOKEN_EXPIRATION=<your_token_expiration>
GOOGLE_CLIENT_ID_WEB=<your_google_client_id_web>
GOOGLE_CLIENT_ID=<your_google_client_id>- Run the backend server:
npm start- Install the frontend dependencies:
npm start- Run the frontend app:
npm startFor detailed instructions, refer to the Google Auth/Signin in React Native without Firebase article.
To run the tests, navigate to the backend directory and use the following command:
npm testContributions are welcome! Please follow these steps:
Fork the repository
- Create a new branch (git checkout -b feature/your-feature)
- Commit your changes (git commit -m 'Add some feature')
- Push to the branch (git push origin feature/your-feature)
- Open a pull request
For any inquiries, please contact Shai Matzliach at [email protected].