Skip to content
/ traxion Public

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

License

Notifications You must be signed in to change notification settings

tractr/traxion

Repository files navigation

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 Schema to simply manage your data models and relationships.
  • API : Instantly get a GraphQL API 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 . 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 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:

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 . 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 .

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

License

Traxion is open-source software licensed under the MIT 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! 🚀