Skip to content

🌟 Battle ready ultimate expressjs & nextjs typescript starter kit (REST API) 🌟

Notifications You must be signed in to change notification settings

ghostlexly/ultimate-typescript-starter-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

96 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Ultimate TypeScript Full Stack Starter

🌟 Overview

Welcome to the Ultimate TypeScript Full Stack Starter! This comprehensive toolkit provides a robust foundation for building scalable, feature-rich applications using the MERN (MySQL, Express, React, Node.js) stack with TypeScript.

🎯 Why Choose This Starter?

  • Full Stack: Covers both backend (Express.js) and frontend (Next.js) development
  • TypeScript: Enjoy the benefits of static typing and improved developer experience
  • Batteries Included: Packed with essential features and best practices
  • Scalable: Designed to grow with your project needs
  • Modern: Utilizes the latest technologies and patterns

πŸ›  Tech Stack

  • Database: MySQL with Prisma ORM
  • Backend: Express.js
  • Frontend: Next.js (Server-side rendering, Static site generation, Client-side rendering)
  • Language: TypeScript
  • Containerization: Docker

πŸ”‘ Key Features

πŸ–₯ Backend

  • Authentication: Secure bearer sessions and OAuth (Google, Facebook, Twitter, GitHub) via Passport.js
  • Authorization: Fine-grained access control with CASL
  • Validation: Request validation using Zod
  • Error Handling: Comprehensive error management system
  • Logging: Advanced logging with Pino and log rotation
  • File Management: S3 integration for file and video uploads
  • Video Processing: Conversion to browser-compatible formats with FFmpeg
  • Caching: Redis integration for improved performance
  • Rate Limiting: API protection with express-rate-limit
  • Background Processing: Efficient task handling with BullMQ and node-cron
  • Internationalization: Multi-language support with i18n
  • API Documentation: Swagger integration
  • Events: Powerful event handling with EventEmitter2

🎨 Frontend

  • UI Framework: React with Next.js
  • Styling: Tailwind CSS
  • State Management: zustand
  • Form Handling: React Hook Form

πŸ”’ Security

  • CORS protection
  • Secure authentication
  • Request validation
  • Rate limiting

⚑ Performance

  • esbuild bundling for faster builds
  • Hot-reload for rapid development
  • Redis caching
  • Optimized architecture

πŸ’» Developer Experience

  • Docker support for easy setup and deployment
  • Code formatting with Prettier
  • Linting with ESLint

πŸš€ Getting Started

  1. Clone the repository

    git clone https://github.com/ghostlexly/ultimate-typescript-starter-kit.git
    cd ultimate-typescript-starter-kit
    
  2. Set up environment variables Copy .env.template to .env and fill in your values

  3. Install dependencies

    cd backend
    yarn install
    
    cd ../frontend
    yarn install
    
  4. Start the development environment

    docker compose -f docker-compose.yml -f docker-compose.dev.yml up
    
  5. Access the application

πŸ“š Documentation

For detailed documentation on each feature and how to use this starter kit, please refer to our Wiki.

🀝 Contributing

We welcome contributions!

πŸ“„ License

This project is licensed under the MIT License.

πŸ™ Acknowledgements

  • See backend README for more details.
  • See frontend README for more details.

πŸ“ž Support

If you have any questions or need help, please open an issue or contact our team at hello@fenriss.com.


Happy coding! πŸŽ‰ Don't forget to star ⭐ this repo if you find it useful!

About

🌟 Battle ready ultimate expressjs & nextjs typescript starter kit (REST API) 🌟

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published