Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tractr/traxion

A Generative Toolkit for NestJS Developers. Harness the speed of a BaaS while preserving complete freedom and control over your NestJS stack.
https://github.com/tractr/traxion

casl generator graphql nestjs nestjs-backend prisma rbac typescript

Last synced: 7 days ago
JSON representation

A Generative Toolkit for NestJS Developers. Harness the speed of a BaaS while preserving complete freedom and control over your NestJS stack.

Awesome Lists containing this project

README

        

# Traxion: A Generative Toolkit for NestJS Developers 🚀

Welcome to Traxion 🎉, a powerful and minimalist NestJS generative toolkit.
Accelerate your next NestJS projects with generative capabilities, rivaling the speed of Backend-as-a-Service (BaaS) development while maintaining full control over your project. Unleash the power of open-source, fully-typed code generation to turbocharge your favorite backend framework.

## Features 🌟

Traxion is packed with a suite of intelligent features to supercharge your next NestJS project:

- **Data** : Use [Prisma](https://github.com/prisma) Schema to simply manage your data models and relationships.
- **API** : Instantly get a [GraphQL API](https://github.com/apollographql) based on your Prisma Schema, thanks to our `Prisma2Nest Generator`.
- **Users**: Instantly get a Role-Based Access Control (RBAC) thanks to our `CASL-config Generator` (finalizing) and the core packages :
- **Nest-Authentication** : Integrate authentication using PassportJS.
- **Nest-Authorization** : Manage access control with CASL.
- **Nest-Utilities** : Access a collection of helpful utilities to enhance your development process.
- **Community Packages** :
- **Dev-Kit** : Leverage the power of our `ts-morph-prisma-generator` to create your own Prisma Generator.
- **Terraform** : Simplify infrastructure management with Terraform.
- **Nest-File-Storage** : Handle file storage using Amazon S3.
- **Nest-Mailer** : Send emails efficiently with Mailjet integration.

## Getting Started 📚

Jumpstart your NestJS development journey with Traxion by following our comprehensive [documentation](https://www.traxion.dev/docs/) . Here's a sneak peek of the 13 steps you'll be guided through:

1. Initialize a NestJS application
2. Integrate Prisma into the NestJS project
3. Set up Prisma
4. Set up a PostgreSQL database and configure environment variables
5. Install Prisma generator libraries
6. Define a Prisma schema
7. Generate NestJS services and DTOs
8. Set up the database using Prisma and verify it using Prisma Studio
9. Create NestJS modules
10. Run the application
11. Test the application
12. Modify Prisma schema and regenerate NestJS services and DTOs
13. Test the new schema

## Why Choose Traxion? 🤔

Traxion is designed with the modern full-stack developer in mind. We understand the importance of a streamlined development process that saves you time and effort. With Traxion, you can focus on building your NestJS applications while enjoying a seamless experience, bridging the gap between a full-stack framework and BaaS.

## Contributing 💪

We welcome and appreciate contributions from the community. If you're interested in contributing to Traxion, follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or bugfix.
3. Commit your changes and write clear, descriptive commit messages.
4. Open a pull request and provide a detailed description of your changes.

Please follow the established coding standards and make sure your code is well-documented.

Please refer [to the contribution guide](./CONTRIBUTING.md) for more information.

### Content generation

When developing, to test the changes you are making in the generators you will have to generate multiple time
in a row to get the correct generation. To speed up your development you can use this commands:

```bash
npm run pregenerate && npx prisma generate
```

It will generate you the code without run the prettier and lint formatters.

You'll need to run `npm run generate` one time before your commits to send the correct generated code.

## Issue Reporting 🚦

If you encounter any issues or have suggestions for improvements, please create an issue in our [GitHub issue tracker](./LINK_TO_ISSUES) . When reporting an issue, be sure to include:

- A clear and descriptive title.
- A detailed description of the issue, including any error messages or screenshots, if applicable.
- Steps to reproduce the issue, if possible.

## Code of Conduct

Traxion is an open-source project, and we aim to maintain a welcoming and inclusive environment for all contributors and users. By participating in this project, you agree to abide by our [Code of Conduct](./LINK_TO_CODE_OF_CONDUCT) .

In summary, we expect all participants to:

- Treat everyone with respect and kindness.
- Be considerate and constructive in all interactions.
- Avoid any form of harassment or discrimination.
- Respect others' privacy and personal boundaries.
- Report any violations of the Code of Conduct to the project maintainers.

Failure to adhere to the Code of Conduct may result in being temporarily or permanently banned from the project.

## Channels

- [Discord](https://discord.traxion.dev/)
- [Documentation](https://www.traxion.dev/)

## License

Traxion is open-source software licensed under the [MIT License](./LICENSE) . By contributing to Traxion, you agree that your contributions will be licensed under the same terms.

---

Empower your NestJS development experience with Traxion - a toolkit and code generator tailored for full-stack developers. Unleash your potential and bring your projects to life faster than ever before! 🚀