This project is a web application built with Python using the Django framework, React, and TypeScript. It includes a backend API, frontend UI, and various automated tests.
- Python: Backend API
- Django: Web framework
- pip: Package manager for Python
- MySQL: Database
- JavaScript: Frontend logic
- React: Frontend framework
- TypeScript: Type safety for JavaScript
- Jest: JavaScript testing framework
- npm: Package manager for JavaScript
- Docker: Containerization
- GitHub Actions: CI/CD
- Kubernetes: Container orchestration
- Node.js (version 18)
- Python (version 3.8)
- npm
- pip
-
Clone the repository:
git clone https://github.com/your-repo/crank.git cd crank
-
Install Python dependencies:
python -m pip install --upgrade pip pip install -r requirements.txt pip install -r requirements-dev.txt
-
Install Node.js dependencies:
npm install
-
Start the backend server:
python manage.py runserver
-
Start the frontend development server:
npm start
-
Build the frontend:
npx webpack
-
Run the backend server:
python manage.py runserver
-
Run Python tests:
pytest
-
Run JavaScript tests:
npx jest
This project uses GitHub Actions for CI/CD. The workflows are defined in the .github/workflows
directory.
- Run Tests: Executes tests on every push.
- Build Image: Builds and pushes Docker images on pull request merges.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a Pull Request.
This project is licensed under the MIT License.