an Task manger implemented using The newest technologies in the industry
TypeScript
TypeGraphQL
DrizzleORM
PostgreSQL
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
-
Clone the repo to your local machine:
git clone https://github.com/omarsabra1/O-Task.git
. -
Install the dependencies using NPM:
cd O-Task
-
Install the necessary dependencies:
npm install
.
To run the application:
- In production mode:
npm run start
. - In development mode:
npm run dev
.
To create a migration:
- To create a migration:
npm run db:generate
. - To apply the migration to the database:
npm run db:push
.
I developed this project to challenge myself and add new features. The project includes the following:
- Authentication with JSON Web Token (JWT).
- Search functionality.
To learn more about the schema, you can refer to SCHEMA.
- app.ts: The entry point of the application.
- db/DBClient.ts: Used to connect DrizzleORM with PostgreSQL.
- db/migrate: This directory contains files for managing database migrations.
- schema: Handles GraphQL types.
- resolver: Defines the functions that fetch data for a single field in a GraphQL schema.
- decorator/AuthChecker.ts: Responsible for verifying the authentication token.
- inputs: Defines the arguments for fields in a GraphQL schema.
To use all queries, you must authenticate with a user token. Add this token from the signIn
mutation in the Authorization
header with the type Bearer Token
.
If you have any questions or feedback, please feel free to reach out to me on LinkedIn or via email.