Code Monkey home page Code Monkey logo

blog-app's Introduction

  • A React app styled with Tailwind CSS and powered by a serverless backend using Cloudflare Workers for enhanced performance.

  • It features Recoil state management for efficient caching, JWT-based authentication, and comprehensive TypeScript with Zod for type safety and validation.

Features

  • Database Integration with Prisma and PostgreSQL.
  • Robust Authentication and Validation Using JWT.
  • Efficient State Management with Recoil.
  • Serverless Backend with Cloudflare Workers.

Live Link

https://blog-app-ten-neon.vercel.app/

Screenshots

App Screenshot1

App Screenshot2 App Screenshot2

Run Locally(Backend)

  git clone https://github.com/Rashidziya/Blog-App

Go to the project directory

  cd Blog-App/Backend

Install dependencies

  npm install

Start the server

  npm run dev

Run Locally(Frontend)

  git clone https://github.com/Rashidziya/Blog-App

Go to the project directory

  cd Blog-App/Frontend

Install dependencies

  npm install

Start the server

  npm run dev

Open your browser and go to http://localhost:5173

Dependencies

Key libraries and packages used in this project: Frontend

  • HTTP Client: Axios
  • Routing: react-router-dom
  • Typeinference: @rashidziya/medium-common: ^1.0.3

Environment Variables: Frontend

  • Add BACKEND_URL='own backend api' in bacendurl.ts

Evironment Variables : Backend

Create Top level wrangler.toml file.

  • put JWT_SECRET='own jwt secret'
  • put BACKEND_URL='own connection pool usl'

Create a Top-Level .env file.

  • put BACKEND_URL = 'own postgreSQL url'

For all the dependencies see package.json file for frontend and backend.

Lessons Learned

  • Shared Types with npm: shared npm package for types between the backend and frontend, ensuring type safety and consistency across environments
  • React Fundamentals: Deepened understanding of React, enhancing my ability to write and optimize React code.
  • Component Interaction: Mastered the use of React hooks like useState and useEffect for state management and side effects.
  • API Integration: Gained experience in fetching and handling data through APIs.
  • Data Handling: Learned to effectively render dynamic data using JavaScript’s map function.

Author

License

MIT

blog-app's People

Contributors

rashidziya avatar ziyarashid avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.