This is a web application for blogging built using React and Node.js. It uses several libraries and tools for frontend and backend development.
- React: A popular JavaScript library for building user interfaces.
- Redux / Redux toolkit / Redux thunk: Libraries for managing state in the application.
- Webpack: A module bundler for building and bundling assets.
- Babel: A JavaScript compiler for transpiling JavaScript and JSX code.
- Sass: A CSS preprocessor for writing CSS code.
- Axios: A library for making HTTP requests to APIs.
- TypeScript: A superset of JavaScript that adds static type checking and other features, for writing code.
- Node.js: An open-source, cross-platform JavaScript runtime environment, for running server-side code.
- Express.js: A popular web framework for Node.js, for building the server-side API.
- TypeORM: An object-relational mapping (ORM) library, for interacting with a PostgreSQL database.
- bcrypt: A library for hashing passwords.
- JSON Web Tokens (JWT): A library for generating and verifying JWTs.
- winston: A library for logging.
- class-validator: A library for validating data.
- dotenv: A library for loading environment variables.
- express-form-data: A library for parsing form data in HTTP requests.
To run the application, clone the repository and install the dependencies using npm install. You will also need to set up a PostgreSQL database and update the .env file with the database connection details.
To set up database, you can simple run the docker compose up dev-db -d or you can configure it manually.
To start the server, run npm run start:dev in the terminal. This will start the backend server at http://localhost:4000.
To start the frontend, open a new terminal and run npm run serve. This will start the development server at http://localhost:9000.