-
Notifications
You must be signed in to change notification settings - Fork 1
TechStack
These are the technologies used to build the Black Devs UK website. This is a full-stack TypeScript project, with solutions that are both modern and have great community support.
TypeScript was developed at Microsoft to turn regular JavaScript into a strongly typed language akin to Java or C++. The added type safety helps large scale projects scale far easier than JavaScript as errors can be caught and fixed before the code is run. However, TypeScript transpiles to JavaScript eventually which ensures it can run in any browser. See the benefits of TypeScript here.
React is a JavaScript library used to build modern user interfaces. Developed at Facebook originally, React was released in 2013 and has since become the go to way to create a slick UI on the web. Find the docs here.
NextJS is a framework built on top of React that offers additional functionality to give a great developer experience. Features of NextJS include built in CSS support, server side rendering, analytics, and TypeScript support. See how NextJS improves the React experience here.
Tailwind CSS is a utility-first CSS framework that has picked up speed in recent years. It eschews traditional semantic class names for classes such as font-medium and text-cyan-600 to make building modern websites simple and easy. See what Tailwind can do here.
Apollo is a popular state management library for JavaScript and TypeScript that can be used to manage data fetched with (GraphQL)[graphql.org]. It can be used to build performant web apps thanks to the built in cache at its core, and makes using GraphQL with React simple with the Apollo Client library. See Apollo's website here.
MongoDB is a popular NoSQL database for modern web applications. Its document data model is a lot more flexible than relational databases, and it natively supports JSON as well to make working with the database as simple as possible. Mongoose takes things further by abstracting away a lot of the boilerplate and MongoDB validation away to make the developer experience even better for those using Node.js. There are websites for both MongoDB and Mongoose.
GraphQL is a query language made at Facebook to offer an alternative to traditional REST APIs. Significantly, GraphQL servers provide only a single endpoint as opposed to REST's multiple endpoints, which aims to stop overfetching of data by returning only what the query has asked for. See what GraphQL can do here.
Jest is a popular JavaScript/TypeScript testing library. It has all of the features you would come to expect from a testing library such as running tests in parallel, easy mocking with its built in mock functions, and easy to understand exceptions for when a test fails. Jest can be used with the front end and the back end. Read more here.
Pa11y is a framework for testing website accessibility. Using their command-line interface, a web page can be loaded and any accessibility issues it has can be spotted in a one off snapshot. Read more about Pa11y here.
A simple solution from GitHub themselves, GitHub Actions allows for projects to have their workflows automated. This can be used to automate CI/CD and have software built, tested and deployed straight from the GitHub repository. Read about GitHub Actions here.