* feat: enhance notification store with duplicate check and improve ID generation * feat: refactor notification store for duplication test: add unit tests for useNotificationStore to validate notification addition and duplication logic * feat: remove comment * feat: add report id to adjudication notifications * feat: remove .idea * feat: lint fix
Unirep Social Taiwan
Welcome to the unirep social taiwan project. Leveraging the power of Unirep, our mission is to create a platform where community members can engage in discussions with 100% anonymity. We believe in fostering a space where individuals can express their thoughts and ideas securely, without the fear of their identities being revealed.
Join us in our journey towards a more anonymous and secure online community space!
Quickstart
0. Requirements
1. Installation
git clone git@github.com:social-tw/social-tw-website.git
cd social-tw-website
yarn install
2. Start with each daemon
2.1 Build the files
yarn build
2.2 Start a node
yarn contracts hardhat node
2.3 Set up Twitter API Key
cp packages/relay/.env.example packages/relay/.env
Then fill in your Twitter API Key in packages/relay/.env
2.4 Deploy smart contracts
in new terminal window, from root:
yarn contracts deploy
2.5 Start a relayer (backend)
yarn relay start
2.6 Start a frontend
in new terminal window, from root:
yarn frontend start
It will be running at: http://localhost:3000/
3. Test with each daemon
circuits
yarn circuits test
yarn contracts test
yarn frontend test
yarn relay test
4. Lint
Ensure that your code follows the established style guidelines and is correctly formatted using Prettier:
4.1 Check Code Formatting
View the suggested code formatting without making changes:
yarn lint
4.2 Apply Code Formatting
Automatically format your code to match Prettier's style:
yarn lint:fix
4.3 Verify Code Formatting Ensure that your code is formatted correctly:
yarn lint:check
5. Deploy
5.1 Deploy frontend locally
docker build -t test-frontend:0.1 -f packages/frontend/Dockerfile .
docker run --rm -p 3000:3000 --network="bridge" test-frontend:0.1
5.2 Deploy backend locally
docker build -t test-relay:0.1 -f packages/relay/Dockerfile .
docker run --network="host" --rm -p 8000:8000 test-relay:0.1
Contributing
Getting Started
Before diving into the codebase:
- Read the CONTRIBUTING.md: Please ensure you've reviewed our CONTRIBUTING.md. It contains crucial information on our coding standards, the pull request process, and more.
- Search Existing Issues: We use the GitHub issue tracker to manage our tasks and bugs. Please spend a few minutes searching for issues to see if someone else has already reported the same problem or suggested the same change.
- Reporting New Issues: If you don't find an existing issue that addresses your concern, feel free to open a new one. Provide as much detail as possible to help us understand the context and importance.
Steps for Contributing
- Fork the Repository: If you're not a direct contributor, start by forking the main repository.
- Create a New Branch: Branches should be named descriptively. For example: add-login-feature or fix-image-upload-bug.
- Implement Your Changes: Make sure your changes adhere to our coding standards and don't introduce new issues.
- Submit a Pull Request (PR): Once you're satisfied with your changes, push your branch to your fork and submit a pull request. Our team will review it, suggest changes if necessary, and merge it when it's ready.
Branch naming conventions
Please follow the following branch naming scheme when creating your branch:
feature-foo-barfor new featuresfix-foo-barfor bug fixestest-foo-barwhen the change concerns only the test suiterefactor-foo-barwhen refactoring code without any behavior change
Community
Join the conversation and help the community.