Have you ever wondered how swiftly you could turn your next project or startup idea into reality? This question has often crossed my mind, especially when initiating a new project. The initial phase typically involves rewriting extensive boilerplate code—authentication, registration, admin panels, etc.—which consumes a significant portion of development time. After repeatedly facing this challenge, I was compelled to devise a bootstrap framework for efficient reuse.
Throughout the years, I embarked on a quest to refine this concept, creating numerous versions of these bootstrap frameworks. The tech landscape constantly evolves, yet each solution seemed like forcing a square peg into a round hole. I believed in a streamlined, more efficient approach to system design, aiming for unparalleled speed and precision. Despite the limitations of existing tools, my vision persisted. That was until I discovered tRPC, which revolutionized my workflow. Integrating Nest.js, Next.js, Prisma, and tRPC transformed the development process, making it exceptionally rapid and efficient, suitable for anything from quick projects to enterprise-level applications. Thus, Ult was conceived.
Welcome to the future of web development with Ult—a harmonious combination of Nest.js, Prisma, and tRPC for the server, alongside Next.js and Tailwind CSS for the client. This integration promises seamless backend-to-frontend connectivity, accelerated development cycles, and a modern UI requiring minimal coding. Ult stands as a comprehensive solution for crafting scalable, high-performance, and aesthetically appealing web applications. Prepare to elevate your projects with unparalleled ease and sophistication.
Requirements
Ensure you have the following dependencies installed on your system:
- Node v18+
- Pnpm
- Docker Compose
- Clone the Ult repository:
git clone https://github.com/jaequery/ult
- Change to the project directory:
cd ult
- Install the dependencies:
pnpm install
- Run Postgres database using Docker that will listen on port 5432:
docker-compose up -d
- Create ./apps/server/.env.development
cd ./apps/server
cp .env.example .env.development
Database should work out of the box with the default credentials for local development. But for email, you will need a valid SMTP account. You can get it free at brevo.com.
- Run db migration to create the database tables
pnpm db:migrate
- Run the db seed to populate the database with initial data
pnpm db:seed
Use the following command to run both Nest and Next server.
pnpm dev
This will start the Next.js server on http://localhost:3000 and the Nest.js on http://localhost:3001.
Use the following command to run tests:
pnpm test
Contributions are welcome! Here are several ways you can contribute:
- Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
- Report Issues: Submit bugs found or log feature requests for the
ultima
project.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/jaequery/ult
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
Once your PR is reviewed and approved, it will be merged into the main branch.
This project is protected under the MIT License. For more details, refer to the LICENSE file.
- List any resources, contributors, inspiration, etc. here.