-
Notifications
You must be signed in to change notification settings - Fork 2
Documentation: Tech Stack & Tools
John Lecegues edited this page Feb 9, 2024
·
1 revision
This page outlines the technologies and tools used in the project, including their purpose and how they are utilized.
Languages: JavaScript, HTML, CSS
- React.js: Used to build UI with component-based architecture
- Vite: Build tool paired with React.js, chosen for fast cold start, hot module replacement and other feature enhancements.
- Material UI: A component library chosen over Bootstrap due to the availability of more components that were suitable for our needs (visual data)
- Vitest: Testing Framework that comes with Vite
- loglevel: Multi-level logging library chosen for simplicity & transport to client console
Languages: JavaScript, SQL
- Express.js: Web app framework chosen over Django due to superior support for asynchronous operations and concurrency
- PostgreSQL: Relational Database System chosen over SQLite for scalability, complex queries, and concurrent transactions.
- TypeORM: Object Relational Mapper (ORM) chosen over Sequelize for its superior support over inheritance patterns
- Jest: Testing framework chosen for extensive support for automated unit tests and additional features
- Winston: Multi-level logging framework chosen for support in transporting logs to both console and log files
- Morgan: HTTP Request Logger used with Winston to log all http requests and transport to console & log files
- Cookie-Parser: Used to parse cookies for use in managing user sessions
- cors: To enable Cross-Origin Resource Sharing (CORS) to allow frontend and backend to communicate
- dotenv: To load environment variables from .env files in development
- Docker: Tool for containerizing the application, ensuring consistent environments across development and production
- Git: Version control system for tracking changes in the codebase
- ESLint: Linter for identifying and reporting on patterns in JavaScript
- Prettier: Code Formatter to maintain consistent code quality & style
- Github Actions: For use of CI/CD pipeline