Have you ever wanted a personal space on the web to write your personal thought between different categories?
No?
Okay, now you do!
Digital diary is the best online diary that you never asked for! Help us build a great open source application by contributing to this app!
If you want to contribute to our great online diary you should read through all this document!
Yup! That's right, we've got our own personal discord server >:) and it allows us to monitor the repo! Bwahahah.
Okay, time to get serious. Let me talk to you about the server:
- Do not spam the channels
- Do not send messages on any channel where the Pokebots send notifications unless completely necesarry. Remember that the main focus of that server is monitoring updates!
The server contains five unique pokemon bots with their unique personality (or at least an attemp of giving them their own personality). Those are:
- Mudkip Bot: Notifies you about a new pull request
- Chikorita Bot: Notifies you about a new Front-End Issue!
- Torchic Bot: Notifies you about a new Back-End Issue!
- Totodile Bot: Notifies you about a new Documentation Issue!
- Jirachi Bot: Notifies you about a new Wishlist Issue!
They work thanks to Github Actions!
When creating an issue it is important that you add the corresponding label into it to allow everyone whose on the discord server know what the issue is! You must use the following labels:
- Frontend: stuff related to...well the front-end
- Backend: same as above but with the back-end
- Documentation: any issue related to the design of the system, UI / UX, readme, etc.
- Wishlist: anything that does not enters in the above categories that you think that is something that our amazing project should have!
- Fork and clone the repository git clone https://github.com/ShrillShrestha/digital-diary
- Create a branch git checkout -b "<your_branch_name>"
- Make your changes in that branch
- Test your changes
- Add and commit your changes with
git add .
&&git commit -m "<your_commit_message>"
- Then push the changes into your branch git push origin branch_name
- Now you can create a PR using that branch in our repository.
We all want to create some pull requests that get merged, but before you start working on it, please attach to this rules!
- Make the name descriptive
- Prove a summary of the files changed on the description of the PR!
- Provide constructive feedback where it applies.
- If it does not get approved please don't get mad, it's a great learning experience and everyone is welcome to contribute! Read the feedback and keep trying! :)
Sometimes the main branch of our repo might be updated since the last time you forked it. It might create conflicts while merging the PR. In such case:
- Add out repo as your upstream repo using
git remote add upstream https://github.com/ShrillShrestha/digital-diary
. - Checkout to your main and pull the lastest changes from the
upstream
withgit pull upstream master
. - If you want, you can push the latest main branch to update your origin's main with
git push origin main
. - Checkout to your branch, where you made the changes.
- Rebase your branch to the latest main branch with
git rebase master
- Resolve any conflicts, if any.
- Push the latest change to your origin.
- React
- AWS Amplify framework
- GraphQL
- DynamoDB
- React Bootstrap
- GitHub Actions
- Node.js v12.x or later
- npm v5.x or later
- git v2.14.1 or later
- AWS account and aws amplify cli. You can follow this, if you have to configue your cli.
- Clone the repo on your local using
git clone https://github.com/ShrillShrestha/digital-diary
- Go to the project directory using
cd digital-diary
- Run
npm install
to install all the dependencies - Once the cli is configured, run
amplify init
- When the prompt asks you to use existing environment, select no. This will prompt you make make your dev environment
- Name your environment, select your ide and use your AWS profile to set up your dev environment
- Run
amplify add auth
to add your own authentication system- Select default configuration
- Select your preference of sign in method
- Select No, I am done when prompt to configure advance settings
- Run
amplify add api
- Select
GraphQL
- Provide your name for the api
- Choose Amazone Cognito User Pool for authorization type
- If asked to configure advance setting, select no
- Select yes when asked for annotated GraphQL schema
- Give the path for your GraphQL schema. i.e
./amplify/backend/api/schema.graphql
- Select
- Run
amplify push
to push changes to the aws cloud - Once the everything is done, run
npm start
, and there is your digital personal diary. :)