A Full Stack web app for daily bible learning using the newest technologies!
Name | Role |
---|---|
Uria Medalia | Full-Stack Developer + AI developer |
Ahuvia Shani | Full-Stack Developer + Product Designer |
Avichai Iluz | Full-Stack Developer + Technical Team Lead |
Yehuda Kalerman | Full-Stack Developer + Product Manager |
Shilo Hacohen | Full-Stack Developer + Team Lead |
Haim Leibman | Full-Stack Developer + CTO |
Please install all the required packages & softwares before running the app.
Name | Version | Download Instructions |
---|---|---|
Postman | Latest | Download Postman |
MongoDB Compass | Latest | Download MongoDB Compass |
Node.js | LTS | Download Node.js |
VS Code | Latest | Download VS Code |
Azure Account extension | Latest | Download Azure Account |
Prettier extension | Latest | Download Prettier |
Auto Import extension | Latest | Download Auto Import |
Auto Rename Tag extension | Latest | Download Auto Rename Tag |
Code Spell Checker extension | Latest | Download Code Spell Checker |
colorize extension | Latest | Download colorize |
DotENV extension | Latest | Download DotENV |
ES7+ React snippets extension | Latest | Download ES7+ React snippets |
ESLint extension | Latest | Download ESLint |
Hebrew - Code Spell Checker extension | Latest | Download Hebrew - Code Spell Checker |
Pretty TypeScript Errors extension | Latest | Download Pretty TypeScript Errors |
Restore Terminals extension | Latest | Download Restore Terminals |
Step 1: To run the app client + server side in development MODE you have two methods available:
-
Automatically (recommended):
- Clone the repo from Github.
- Install VS Code extension: Restore Terminals
- Re-open VsCode and then open the file "DailyBible.code-workspace" inside the root folder. It will open vs code with terminals for server & client, navigate to the folders directory, install npm packages and start the apps. A new window of your default browser will automatically open at "http://localhost:3000" - the default start page of the client app.
-
Manually:
- Clone the repo.
- Open new terminal for server
- Run:
cd server && npm set legacy-peer-deps true && npm i && npm run seed && npm run dev
- Open new terminal for client
- Run:
cd client && npm set legacy-peer-deps true && npm i && npm run huskyInit && npm run dev:development
- open http://localhost:3000
Step 2:
- Open Postman
- Click on "Create Workspace", hit "Next", enter name of workspace: "Daily Bible", Click on "Create".
- Type CTRL + O to open import popup, click on "folders" and import the 2 folders located inside "YOUR_PROJECT_LOCATION\Daily-Bible\server\src\Seed\PostmanBackup".
- wait for the files to load and click on "Import" button.
- In Postman click on "Collections" button in the left bar.
- At the top right corner of the screen under the "Upgrade" button click on "No Environment" select box and choose "Dev: Daily Bible".
Tests in client side powered by Jest.
-
Run the test once:
cd client && npm run test:once
-
Run the test in Watch mode:
cd client && npm run test
Tests in server side powered by Vitest + MSW.
- Run the test once:
cd server && npm run test:once
- Run the test in Watch mode:
cd server && npm run test
Server side:
- Node.js
- Express.js
- Typescript
- Mongoose
- Mongo DB Atlas
Client side:
- React.js
- Typescript
- Tanstack Query
- Jotai
- development
- production
Synchronization is one of the biggest Issues in our project we used Google Drive and GitHub (Git) to collaborate with each other, and integrate easily into our workflow... The synchronization mechanism takes place every minute in the background, downloading, merging, and uploading file modifications.
sudo apt update sudo apt install -y curl software-properties-common
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejs
sudo apt install -y git Install PM2 globally: sudo npm install -g pm2
git clone https://github.com/Avichai997/Daily-Bible.git
cd <FOLDER_NAME>
cat < .env.production
EOL