WhiteSpace is a modern blogging platform that emphasizes simplicity and readability. It is designed to offer a seamless writing and reading experience with a focus on minimalism and functionality. Whether you're a seasoned writer or just starting, WhiteSpace provides the tools you need to share your stories with the world.
-
Cloudflare Workers with Hono: Powers the backend infrastructure, providing robust and scalable functionality.
-
Zod: Used for validation on the backend, ensuring data integrity and security.
-
TypeScript: Language of choice for backend development, enabling type safety and enhanced developer productivity.
-
Prisma: ORM (Object-Relational Mapping) tool used for efficient database management.
-
PostgreSQL: Relational database management system chosen for its reliability and scalability.
-
JWT: Enables secure user authentication, enhancing the platform's security.
-
Password Hashing: Implemented to enhance user data security by securely storing passwords.
-
React: Frontend framework used for building interactive user interfaces.
-
Tailwind CSS: Styling framework utilized for crafting sleek and responsive UI components.
-
TypeScript: Language of choice for frontend development, ensuring type safety and code clarity.
-
Zod: Utilized for frontend type inference and validation, enhancing data consistency and reliability.
To get started with WhiteSpace locally, follow these steps:
-
Clone the repository:
git clone https://github.com/mrsamirr/WhiteSpace.git cd WhiteSpace
-
Install dependencies:
npm install
-
The Next Instructions
-
Copy frontend and backend folders here and Open VS code.
-
Open 2 terminals:
- Terminal 1
cd backend
npm install
- Terminal 2
cd frontend
npm install
- Create
.env
file in backend folder
touch .env
- Now add the following fields inside
.env
DATABASE_URL=""
JWT_SECRET=""
- Now, inside
wrangler.toml
file add the following fields:
[vars]
DATABASE_URL=""
JWT_SECRET=""
-
Start the development server:
npm run dev
The application will run on
http://localhost:5173
. -
Deploy on the server:
npm run deploy