- Allow users to authenticate and signup/login to their account
- Allow users to input and save a text message into the app which is then saved and stored within our database
- Allow users to record and upload voice memos into the app.
Christians or non-christian users with faith.
- Expo: This will be used to build and deploy our project easily.
- React Native: Is the framework we will use to create the project.
- Expo:
~51.0.14
- React Native:
0.74.2
- React:
18.2.0
- Node.js:
20.9.0
- NPM:
6.14.15
- TypeScript:
~5.3.3
- Development: Local environment for development and testing
- Staging: Pre-production environment for final testing
- Production: Live environment for end-users
Ensure you have the following installed on your machine:
- Node.js
- npm
- Expo CLI
- For iOS you need to install xcode
- For Android you need to install the Android SDK
- Clone the repository:
git clone https://github.com/Firm-Collective/ai-journal.git cd ai-journal
- Install dependencies:
npm install
- Set up environment variables:
Create a
.env
file in the root of the project and add the necessary environment variables as outlined in the.env.example
file.
Before making any changes, create a new branch:
- Create a new branch:
git checkout -b your-branch-name
- Push the branch to the remote repository:
git push -u origin your-branch-name
-
Run on iOS:
npm run ios
-
Run on Android:
npm run android
- Running Tests:
npm test
- Use Prettier for code formatting.
- Install the Prettier extension in your code editor.
- Ensure the code is formatted by running:
npm run format
- Use ESLint for linting.
- Follow the Airbnb JavaScript style guide.
- Run linting with:
npm run lint
- Files and Folders: Use camelCase for filenames and PascalCase for React components.
- Variables and Functions: Use camelCase for variables and functions.
- Constants: Use UPPER_SNAKE_CASE for constants.
- Follow the Conventional Commits specification.
- Example commit message:
feat: add new feature
orfix: correct a bug
.