QuestLog is an AI-powered productivity platform that turns task/project management into a rewarding progression system. Through XP points, achievement tracking, and smart insights, it creates an engaging framework that helps users maximize their daily productivity while making personal growth measurable and motivating!
Tasks will be imported with default XP settings
undefinedAuthentication:
undefinedData Protection:
undefinedNetwork Security:
Built with:
graph TB
%% External Services Layer
subgraph External["External Services"]
OAuth[OAuth Providers]
AppIntegrations[App Integrations]
end
%% Frontend Layer
subgraph Frontend["Frontend (React)"]
direction TB
App[App.js]
Auth[Authentication]
ModalManager[Task/Project Management]
GameSystem[Game Systems]
end
%% Backend Layer
subgraph Backend["Backend (Express.js)"]
direction TB
Server[Server.js]
AuthService[Auth Service]
ItemService[Task/Project Service]
GameService[Game Service]
IntegrationService[Integration Service]
Passport[Passport.js]
Session[Session Management]
end
%% Database Layer
subgraph Database["Database Layer"]
direction TB
MongoDB[(MongoDB)]
SessionStore[(Session Store)]
end
%% Core Connections
Frontend --> Backend
Backend --> External
Backend --> Database
%% Detailed Connections
Auth --> AuthService
ModalManager --> ItemService
ModalManager --> IntegrationService
GameSystem --> GameService
AuthService --> OAuth
IntegrationService --> AppIntegrations
Session --> SessionStore
%% Frontend Flow
App --> Auth & ModalManager & GameSystem
%% Backend Flow
Server --> AuthService & ItemService & GameService & IntegrationService & Session
AuthService --> Passport
classDef frontend fill:#42b883,stroke:#333,stroke-width:2px
classDef backend fill:#68a063,stroke:#333,stroke-width:2px
classDef external fill:#f5a623,stroke:#333,stroke-width:2px
classDef database fill:#4479a1,stroke:#333,stroke-width:2px
Clone the repository:
git clone https://github.com/hussaino03/QuestLog.git
cd QuestLog
Set up environment:
# Copy the example environment file
cp example.env .env.test
# Only required changes:
# - GOOGLE_CLIENT_ID=your_client_id_from_google_cloud_console
# - GOOGLE_CLIENT_SECRET=your_client_secret_from_google_cloud_console
# - REACT_APP_GOOGLE_CLIENT_ID=same_as_GOOGLE_CLIENT_ID
Start with Docker:
docker-compose --env-file .env.test up --build
Access the application:
The example.env includes working test values for all other configurations. You only need to provide Google OAuth credentials to get started.
POST /api/users: Create or retrieve a userGET /api/users/:id: Get user dataPUT /api/users/:id: Update user data (XP, level, tasks/projects completed)GET /api/leaderboard: Retrieve leaderboard dataPOST /api/auth/google: Handle Google OAuth authenticationGET /api/auth/<integrations> : integrations OAuth importPOST /api/projects/:id/share: Generate project share codePOST /api/projects/:id/join: Join project via share codeGET /api/projects/:id/collaborators: Get project collaboratorsDELETE /api/projects/:id/collaborators/:userId: Remove collaboratorIf you find QuestLog helpful and would like to support its development:
Please refer to CONTRIBUTING.md for contribution guidelines.
This project is open source and available under the MIT License.
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.