Overview:
TS Fullstack Starter is a framework designed to help developers quickly build fullstack web applications using TypeScript. The motivation behind this project is to eliminate the hassle of boilerplate code and tedious configuration, allowing developers to focus on their ideas and move fast. With TS Fullstack Starter, users have a base structure that enables them to start development at lightning speed.
Features:
- Types everywhere with TypeScript: Provides type checking and static typing support in both the backend (Express) and frontend (React 17 and Redux Toolkit).
- Tests everywhere with Jest: Offers testing capabilities for both the backend and frontend using Jest and React Testing Library.
- NoSQL database with MongoDB: Includes support for MongoDB as the database for the application.
- Authentication with JSON Web Token: Implements JSON Web Token for handling authentication.
- Routing with React Router: Enables the usage of React Router for handling routing within the application.
- Form with React Hook Form: Provides a form solution utilizing React Hook Form library.
- Internationalization with react-i18next: Allows for easy implementation of internationalization in the application using the react-i18next library.
- Logging with Winston: Implements logging capabilities using the Winston library.
- Light/dark theme with Material-UI: Provides support for both light and dark themes using the Material-UI framework.
- Pre-commit hook with Husky: Includes a pre-commit hook using Husky to enforce certain actions before committing code.
Installation:
To install TS Fullstack Starter, follow the steps below:
- Fork the repository on GitHub.
- Delete the
.gitfolder. - Delete the
.gitfolder in the client folder. - Initialize a new Git repository using
git init. - Update the
package.jsonfile. - Update the
README.mdfile. - Create a new project on MongoDB Atlas.
- Create a new user and a database (main) with a collection (users) in the project.
- Create a
.envfile and fill it with the necessary environment variable properties. - Checkout to a new branch named
mainusinggit checkout -b main. - Add and commit the changes using
git add .andgit commit -m "Initial commit". - Push the changes to the remote repository using
git push -u origin main.
Summary:
TS Fullstack Starter is a framework designed to simplify and speed up the development of fullstack web applications using TypeScript. It provides a wide range of features, including TypeScript support, testing capabilities, MongoDB integration, authentication, routing, form handling, internationalization, logging, and theme support. By following the installation guide, developers can quickly set up the TS Fullstack Starter and start building their next web application without the need to deal with boilerplate code and tedious configuration.