GOBank is a banking application that provides seamless banking and investment services to users. It is built with Django for the backend API and React for the frontend. GOBank allows users to manage their accounts, view transactions, and perform various banking and investment operations seamlessly.
- Features
- Tech Stack
- Installation
- Backend Setup
- Frontend Setup
- Docker Setup
- Environment Variables
- API Documentation
- Contributing
- User authentication and authorization
- Account creation and management
- Join investment accounts
- View account balances
- Perform transactions (e.g., deposits, transfers, withdrawals)
- Real-time transaction updates
- Secure API endpoints using Django Rest Framework
- Frontend: React, JavaScript, HTML, Tailwind CSS
- Backend: Django, Django Rest Framework, Python
- Database: PostgreSQL
- Containerization: Docker
- CI/CD: GitHub Actions, DockerHub
- Python 3.x
- Node.js and npm
- Docker (optional but recommended)
- Clone the repository and navigate to the backend folder:
git clone https://github.com/Gad-Ongoro/GO_Bank.git
cd GO_Bank/server
- Create a virtual environment and install dependencies:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
- Set up the database:
python manage.py makemigrations
python manage.py migrate
- Create a superuser:
python manage.py createsuperuser
- Start the backend server:
python manage.py runserver
- Navigate to the frontend folder:
cd GO_Bank/client
- Install the dependencies:
npm install
- Start the frontend development server:
npm start
The app should now be running at http://localhost:3000 (frontend) and http://localhost:8000 (backend).
- Build and run the containers:
docker-compose up --build
- Access the app via http://localhost:3000 (frontend) and http://localhost:8000 (backend).
The app requires the following environment variables to be set:
For the backend, create a .env file in the backend directory with the following:
SECRET_KEY=your-secret-key
DEBUG=True
DATABASE_URL=postgres://user:password@localhost:5432/gobank
For the frontend, create a .env file in the frontend directory with:
REACT_APP_API_URL=http://localhost:8000/api
The API is documented using Django Rest Framework's browsable API. Once the server is running, you can access the documentation at:
Contributions are welcome! To contribute:
- Fork the repository
- Create a new branch (git checkout -b feature/your-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin feature/your-feature)
- Create a new Pull Request