IdealBus is a modern bus ticket and trip management platform designed to streamline the way users search, book, and manage their journeys.
The application focuses on scalability, security, and performance while delivering a smooth and intuitive user experience.
IdealBus provides:
- Bus ticket booking and management
- Trip organization and scheduling
- User account management
- Secure backend architecture
- Cloud-based data storage
The project follows modern development standards and industry best practices to ensure maintainability and long-term growth.
- Framework: Next.js
- Language: React + TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI, Base UI, shadcn/ui
- Forms: React Hook Form + Zod validation
- Icons: Lucide React
- Code Quality: Biome 2.2
Currently not implemented
- Runtime: Node.js with native TypeScript support
- Framework: Fastify
- Language: TypeScript
- ORM: Drizzle ORM
- Database: PostgreSQL
- Cache: Redis
- Validation: Zod
- Authentication: JWT (jsonwebtoken) + bcrypt
- API Documentation: Fastify Swagger + Scalar
- Code Quality: Biome
- Build Tool: tsx (TypeScript executor)
- Containerization: Docker & Docker Compose
- Package Manager: pnpm (monorepo workspace)
idealbus/
│
├── api/ # Fastify backend (REST API)
├── web/ # Next.js frontend (App Router)
└── docs/ # Documentation & diagrams
git clone https://github.com/EaCamih/IdealBus.git
cd idealbusAPI
cd api
npm installWeb
cd web
npm installCreate a .env file inside /api:
PORT=3333
DATABASE_URL=postgres_url
NODE_ENV=developmentcd api
docker compose up -dStart API
cd api
npm run devStart Web
cd web
npm run devThe web app will typically run at:
http://localhost:3000The project is being built with:
- Modular and scalable architecture
- Clear separation of concerns (API / Web)
- Strong typing across the stack
- Environment-based configuration
- Secure authentication flows
- Clean and maintainable code patterns
- All features must be developed in separate branches
- Pull Requests require review before merging
- Clear commit messages following Conventional Commits
- Avoid direct commits to main
- Breaking changes must be documented
IdealBus aims to become a secure, scalable, and production-ready transportation management system.
The goal is to continuously evolve using modern technologies, clean architecture patterns, and real-world market standards.
This project is licensed under the MIT license. Feel free to contribute!
Pull requests are welcome. If you'd like to suggest improvements, feel free to open an issue.
Developed with love by Camilla Viana 💜
