Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ashishranjan9585/wallet_application
A full-stack wallet application that allows users to manage their finances, including signing up, signing in, viewing their account balance, and transferring money between accounts.
https://github.com/ashishranjan9585/wallet_application
axios express mongoose react-router reactjs tailwindcss
Last synced: 5 days ago
JSON representation
A full-stack wallet application that allows users to manage their finances, including signing up, signing in, viewing their account balance, and transferring money between accounts.
- Host: GitHub
- URL: https://github.com/ashishranjan9585/wallet_application
- Owner: ashishranjan9585
- Created: 2024-08-18T04:09:19.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-18T05:15:56.000Z (3 months ago)
- Last Synced: 2024-08-20T14:26:40.569Z (3 months ago)
- Topics: axios, express, mongoose, react-router, reactjs, tailwindcss
- Language: JavaScript
- Homepage:
- Size: 68.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Wallet Application
A full-stack wallet application that allows users to manage their finances, including signing up, signing in, viewing their account balance, and transferring money between accounts.
## Features
- **User Authentication:** Secure sign up and sign in functionalities.
- **Account Balance:** View the current balance of your account.
- **Money Transfers:** Transfer money between users seamlessly.
- **User Search:** Search for other users on the platform.## Getting Started
Follow the steps below to set up and run the Wallet Application on your local machine.
### Prerequisites
Ensure you have the following installed:
- **Node.js:** [Download and install Node.js](https://nodejs.org/)
- **MongoDB:** [Download and install MongoDB](https://www.mongodb.com/try/download/community)### Installation
**Clone the Repository:**
Clone the project from GitHub to your local machine.
```bash
git clone https://github.com/ashishranjan9585/Wallet_Application.git
```### Set Up Frontend Configuration:
In the `frontend` directory, create a `config.js` file with the following content:
```javascript
export const SIGNUP_URL = "/api/user/signup";
export const SIGNIN_URL = "/api/user/signin";
export const USERS_URL = "/api/user/bulk?filter=";
export const MONEY_TRANSFER_URL = "/api/account/transfer";
export const BALANCE_URL = "/api/account/balance";
```### Install Dependencies
Navigate to the project directory and install the required dependencies
Frontend:
```bash
cd frontend
npm install
```Backend:
```bash
cd backend
npm install
```## Running the Application
# Start the Backend Server:
Run the backend server with the following command:
```bash
cd backend
node index.js
```# Start the Frontend Development Server:
Run the frontend development server:
```bash
cd frontend
npm run dev
```## Technology Stack
### Frontend
- **React:** Library for building user interfaces.
- **React DOM:** For DOM manipulation in React.
- **React Router DOM:** Declarative routing for React applications.
- **Axios:** Promise-based HTTP client for the browser and Node.js.
- **Tailwind CSS:** A utility-first CSS framework for rapid UI development.### Backend
- **Node.js:** JavaScript runtime for server-side development.
- **Express:** Web framework for building REST APIs.
- **MongoDB:** NoSQL database for storing user and account data.
- **Mongoose:** ODM (Object Data Modeling) library for MongoDB and Node.js.
- **JWT (JSON Web Tokens):** For secure user authentication and authorization.
- **Zod:** Schema declaration and validation library.
- **Body-Parser:** Middleware for parsing incoming request bodies.
- **CORS:** Middleware to enable Cross-Origin Resource Sharing.## API Endpoints
### User Endpoints
```bash
- POST /api/user/signup: Register a new user.
- POST /api/user/signin: Log in an existing user.
- GET /api/user/bulk: Retrieve a list of users with optional filtering.
```
### Account Endpoints
```
- GET /api/account/balance: Retrieve the current balance of the user's account.
- POST /api/account/transfer: Transfer money to another user.
```