Apollo GraphQL Express Server starter template based on teleferik 🚡
View API Live  • Report Bug  • Request Feature
Trafello is a GraphQL server starter template based on Apollo GraphQL Express middleware.
Trafello doesn't include any database entegration. For now, you have to do all database integration manually 😢.
- When creating a project with Apollo Graphql Server, focus on the features in your project instead of repeating the same processes (e.g. pubsub, mocks, directives etc.) over and over.
- No longer have to install and configure the libraries (e.g. jest, winston etc.) that you will use in your project.
- Entire project is wrapped in typescript 🦾. ready to define Typescript type definitions under
src/@types
- Even the mock server you will need in frontend development is ready to use.
- You can easily deploy to heroku via
Deploy to Heroku
button. - First class
docker
support viadocker-compose
Do you want to make a quick start and test the graphql api? Lets try Deploy to Heroku
button.
You can rapidly start development at codesandbox. Codesandbox running on your browser.
Edit on Codesandbox- Clone the repo in your project directory:
$ git clone https://github.com/Asim-Tahir/trafello.git # via git https # or $ git clone git@github.com:Asim-Tahir/trafello.git # via git ssh # or $ gh repo clone Asim-Tahir/trafello # via github cli tool
- Install dependencies:
$ npm i $ yarn
- Rename
.env.example
file as.env
. - Fill enviroment variable into
.env
. - Run server:
$ npm run dev
$ yarn dev
Initially, two resolvers were added as an example.
ping
ping
query is for check whether the server is working properly. Expected to returnpong
in response. e.g.
randomNumber
randomNumber
query is for testing server functionality.. Its return random generated number between in range(default 0 to 100). This range can be defined in parameter asmin
andmax
. e.g.
- Other middleware and server integration
- Integration of most used databases as external template.
- Mongoose & Typegoose
as Trafello Goose
- Sequelize ORM
as Trafello Seq
- TypeORM
as Trafello Tiftik
- MikroORM
as Trafello Mikrop
- Mongoose & Typegoose
- RESTAPI datasource support
- SQL datasource support
- MongoDB datasource support
- File upload support
- Mock server support for testing and frontend development.
- Subscriptions support (ws)
- Duplicate request handling support Like a SWR
- Caching support
- Memcached
- Redis
- Authantication setup via
JWT
support. Its could be a seperate template. - Encryption via
Bcyrpt
support.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.