- Notifications
You must be signed in to change notification settings - Fork113
License
dailydotdev/daily-api
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
The project started as a monolith service for everything the extension needed (thus Daily API).Safely and slowly, it was torn apart into other services to make every service have only one responsibility.The so-called Daily API kept to itself the content domain. The feed you know very well is delivered from here,along with other very useful endpoints.
Node v22 (a
.nvmrcis presented fornvm users).pnpm for managing dependencies.
Fastify as the web framework
Apollo for GraphQL
TypeORM as a database layer
__tests__- There you can find all the tests and fixtures. Tests are written usingjest.bin- Folder with utilities and executables.helm- The home of the service helm chart for easily deploying it to Kubernetes.seeds- JSON files with seed data for local development.src- This is obviously the place where you can find the source files.common- Utility functions that are used across the project.compatibility- Fastify routes to keep backwards compatibility with API v1.cron- Tasks that will be deployed as cron jobs.directive- GraphQL schema directives.entity- Typeorm entities that are used to communicate with the database and sync its schema.migration- Typeorm migrations folder to update the database schema.schema- Apollo GraphQL resolvers, including types.workers- Pub/Sub message handlers that are deployed as part of the background processor.
Daily API requires a running instance of PostgreSQL, you can easily set it up using the provideddocker-compose file.Check out this guide on how to install Docker Compose. Once installed, you can rundocker-compose up -d and viola!
Make sure to apply the latest migrations by running:pnpm run db:migrate:latest
.env is used to set the required environment variables. It is loaded automatically by the project.
If you want some seed data, you can run:pnpm run db:seed:import
Finally, runpnpm run dev to run the service and listen on port5000.
Currently, there is no staging environment for Algolia, so there is no search functionality for local development.
We have an internal solution to tackle the problems we have encountered along the way.The library is in its early stages, so we are continually writing the documentation to provide a better developer experience. Have a look at the link below:https://github.com/dailydotdev/daily-api/wiki/GraphORM
So you want to contribute to Daily API and make an impact, we are glad to hear it. 😍
Before you proceed, we have a few guidelines for contribution that will make everything much easier.We would appreciate it if you could dedicate the time and read them carefully:
https://github.com/dailydotdev/.github/blob/master/CONTRIBUTING.md
About
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.