ChatterPay is a Wallet for WhatsApp that integrates AI and Account Abstraction, enabling any user to use blockchain easily and securely without technical knowledge.
Built for: Level Up Hackathon - Ethereum Argentina 2024 & Ethereum Uruguay 2024
Built By: mpefaur, tomasfrancizco, TomasDmArg, gonzageraci, dappsar
Components:
- Landing Page (product, source code)
- User Dashboard Website (product, source code)
- Backend API (source code) (this Repo)
- Smart Contracts (source code)
- Data Indexing (Subgraph) (source code)
- Bot AI Admin Dashboard Website (product)
- Bot AI (Chatizalo) (product)
- Bot AI Admin Dashboard Website (product)
This repository contains the backend API source code.
Built With:
- Framework: Bun.js
- Language: TypeScript
- Database: mongodb
- Database ODM: mongoose
- web3 SDK: Alchemy
- web3 Library: ethers.js
- web3 swap/bridges SDK: LI.FI
- web3 ERC-4337 Library: Stackup userOps.js
- web3 Data Feed: api3
- Source Code Documentation: jsDoc
1. Install these Requirements:
2. Clone repository:
git clone /~https://github.com/P4-Games/ChatterPay-Backend
cd ChatterPay-Backend
3. Complete .env file:
Create a .env file in the root folder and populate it with keys and values described in example_env file.
4. Install Dependencies:
bun install
5. Start Server:
bun run dev
Then, open in: http://localhost:3000
.
6. Testing:
# Run tests
bun test
yarn test
npx vitest
yarn test:coverage
npx vitest --coverage
``
# Additional Info
## Project Structure
- `src/`:
- `api/`: Definition of API paths.
- `controllers/`: Helpers that interact with the DB and other services.
- `services/`: Business logic.
- `models/`: Data model definitions.
- `middleware/`: Custom middleware.
- `utils/`: Utility functions.
- `config/`: Application configurations.
- `types/`: Type and interface definitions.
- `constants/`: Constants and enumerations.
- `errors/`: Custom error classes.
- `index.ts`: Application entry point.
- `tests/`: Unit Tests.
- `.gitignore`: Specifies files and directories ignored by Git.
- `package.json`: Project configuration and dependencies.
- `tsconfig.json`: TypeScript configuration.
- `README.md`: This File.
- `.env.example`: Example Environment File.
## Technical Documentation
If you would like to explore more details about the source code, you can review this [link](.doc/content.md).
## Contribution
Thank you for considering helping out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes!
If you'd like to contribute to ChatterPay, please fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base. If you wish to submit more complex changes though, please check up with the [core devs](/~https://github.com/P4-Games/chatterPay-backend/graphs/contributors) first to ensure those changes are in line with the general philosophy of the project and/or get some early feedback which can make both your efforts much lighter as well as our review and merge procedures quick and simple.
Please make sure your contributions adhere to our [coding guidelines](./.doc/development/coding-guidelines.md).
_Contributors_:
* [P4Troy](/~https://github.com/mpefaur) - [dappsar](/~https://github.com/dappsar) - [tomasDmArg](/~https://github.com/TomasDmArg) - [gonzageraci](/~https://github.com/gonzageraci)
* See more in: </~https://github.com/P4-Games/chatterPay-backend/graphs/contributors>