https://github.com/the-sabra/o-task
a Task manger implemented using the newest technologies in the industry.
https://github.com/the-sabra/o-task
apollo-server drizzle drizzle-kit drizzle-orm expres javascript jsonwebtoken jwt postgres postgresql qraphql search ts type-graphql typescript
Last synced: 4 months ago
JSON representation
a Task manger implemented using the newest technologies in the industry.
- Host: GitHub
- URL: https://github.com/the-sabra/o-task
- Owner: the-sabra
- Created: 2023-09-09T09:05:49.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-16T09:25:36.000Z (over 1 year ago)
- Last Synced: 2025-01-12T14:12:38.776Z (5 months ago)
- Topics: apollo-server, drizzle, drizzle-kit, drizzle-orm, expres, javascript, jsonwebtoken, jwt, postgres, postgresql, qraphql, search, ts, type-graphql, typescript
- Language: TypeScript
- Homepage: https://o-task.onrender.com/graphql
- Size: 137 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# O-Task
an Task manger implemented using The newest technologies in the industry
## Technologies Used
- `TypeScript`
- `TypeGraphQL`
- `DrizzleORM`
- `PostgreSQL`## Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
## Installation
1. Clone the repo to your local machine: `git clone https://github.com/omarsabra1/O-Task.git `.
2. Install the dependencies using NPM: ` cd O-Task`
3. Install the necessary dependencies: `npm install`.
## Running the Application
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`.## Note
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](O-task.graphql).
## Code Structure
- **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`.
## Contact Information
If you have any questions or feedback, please feel free to reach out to me on [LinkedIn](https://www.linkedin.com/in/the-sabra/) or via [email]([email protected]).