Welcome to the PeerPulse backend repository! This repository contains the backend codebase for the PeerPulse social media platform. PeerPulse is a blend of Web2 and Web3 aiming to provide a seamless and engaging social media experience for college students.
- User Authentication: Secure user authentication using JSON Web Tokens (JWT).
- Dynamic Routing: Navigation using React Router for smooth and efficient page transitions.
- Error Handling: Comprehensive error handling with Sentry for efficient issue detection and debugging.
- Form Handling: Form validation and submission using React Hook Form with Zod schema validation.
- Media Upload: Ability to upload media files such as images and videos.
To get started with the PeerPulse frontend development environment, follow these steps:
-
Clone this repository to your local machine:
git clone https://github.com/Open-Tech-Devs/peerpulse.git
-
Install dependencies:
cd peerpulse npm install
-
Create a
.env
file in the root directory and add the following environment variables:TEST_DATABASE_URL= DATABASE_NAME= DATABASE_PASSWORD= LOCAL_DATABASE_URL= SMTP_HOST= SMTP_PORT= SMTP_USERNAME= SMTP_PASSWORD= SMTP_SENDER= JWT_SECRET= # Azure Blob Storage SAS_URL= SAS_TOKEN= ACCOUNT_NAME="" CONTAINER_NAME=""
-
Set up a local PostgreSQL database and run the migrations:
npx prisma migrate dev
-
Start the development server:
npm run serve
-
Open your browser and navigate to
http://localhost:5000
to start the server.
We welcome contributions from the community! To contribute to PeerPulse, please follow these guidelines:
- Fork the repository and create a new branch for your feature or fix.
- Make your changes and ensure that the codebase passes linting and tests.
- Please write clear and concise commit messages and PR descriptions.
- Refrain yourself from creating PRs without an associated issue for bug fixes or features.
By contributing to this project, you agree to abide by the Contributor Covenant Code of Conduct.
This project is licensed under the MIT License - see the LICENSE file for details.
If you find PeerPulse useful, consider supporting us by:
- Making a donation to help fund the project's development.
- Spreading the word and sharing PeerPulse with others in your network.
Your support is greatly appreciated!
© 2024 Open Tech Devs