Welcome to Mini Task. This repository contains the backend, frontend, and mobile services for Mini Task. Below is the detailed documentation for setting up and running the project.
Mini Task is a full-stack application that includes backend, frontend, and mobile services. The backend is built using NestJS, the frontend using React, and the mobile app using Flutter. This project also includes CI/CD pipelines for automated testing and deployment.
- Node.js
- Yarn or npm
- Docker (for running the database and other services)
git clone https://github.com/sulthonzh/minitask.git
cd project-namecd backend
yarn install
# or
npm install
cd ../frontend
yarn install
# or
npm installCreate a .env file in the root directory and add the following:
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_USER=yourusername
DATABASE_PASSWORD=yourpassword
DATABASE_NAME=yourdatabase
JWT_SECRET=yourjwtsecretEnsure Docker is installed and running on your machine. The project includes a docker-compose.yml file to set up the PostgreSQL database and other services.
docker-compose up -dcd backend
yarn start:dev
# or
npm run start:devcd frontend
yarn start
# or
npm startFor mobile setup, refer to the README.md in the mobile directory.
For detailed documentation on the backend service, including endpoints and DTOs, refer to the Backend README.
For detailed documentation on the frontend service, refer to the Frontend README.
For detailed documentation on the mobile service, refer to the README.md in the mobile directory.
The ci-cd directory contains the CI/CD pipelines for automated testing and deployment. Ensure you have the necessary permissions and configurations to use the CI/CD pipelines.
The postman directory contains the Postman collection for testing the API endpoints. Import the collection into Postman to get started with API testing.
sequenceDiagram
participant User
participant AuthService
participant UserService
participant TaskService
participant ProfileService
participant Database
User->>AuthService: Login
AuthService->>UserService: Validate User
UserService->>Database: Fetch User
Database-->>UserService: User Data
UserService-->>AuthService: User Validated
AuthService-->>User: JWT Token
User->>UserService: Create User
UserService->>Database: Save User
Database-->>UserService: User Saved
UserService-->>User: User Created
User->>TaskService: Create Task
TaskService->>Database: Save Task
Database-->>TaskService: Task Saved
TaskService-->>User: Task Created
User->>ProfileService: Update Profile
ProfileService->>Database: Update Profile Data
Database-->>ProfileService: Profile Updated
ProfileService-->>User: Profile Updated
User Service: Handles user-related operations such as CRUD.Task Service: Manages tasks including creating, updating, and deleting tasks.Profile Service: Manages user profiles including viewing, updating, and deleting profiles.Auth Service: Handles authentication processes including login, registration, and token management.