This is a website that allows user to add their secrets anonymously to the website. Thus makes its interesting. One can add their secrets that they don't want to share with anyone.
screen-capture.webm
- HTML
- Javascript
- CSS
- Bootstrap
- Nodejs
- Expressjs
- MongoDB
To get started with locally running the app, follow these simple steps:
-
Clone this repository: Begin by cloning the Top Secrets repository to your local machine using the following command:
git clone https://github.com/Kritika30032002/Top_Secrets.git
-
Install the dependencies: Navigate to the cloned repository and install the required dependencies by running the following command:
npm install --force
-
Create a
.env
file: Create a.env
file in the root directory of your project and add the following environment variables:GOOGLE_ID=<YOUR GOOGLE OAUTH CLIENT ID> GOOGLE_SECRET=<YOUR GOOGLE OAUTH SECRET KEY> FACEBOOK_APP_ID=<YOUR FACEBOOK APP ID> FACEBOOK_APP_SECRET=<YOUR FACEBOOK SECRET KEY> PUBLIC_BASENAME=http://localhost:3000/ PORT=3000 MONGO_SERVER=mongodb://127.0.0.1:27017
GOOGLE_ID
&GOOGLE_SECRET
: Refer to this video for Google OAuth Client ID and Secret key : Click HereFACEBOOK_APP_ID
&FACEBOOK_APP_SECRET
: Refer to this video for Facebook ID and Secret key: Click HerePUBLIC_BASENAME
: The base URL for the Express app. For local setup,http://localhost:3000/
PORT
: The port on which the Express app is running.MONGO_SERVER
: The MongoDB URI. A MongoDB URI looks like the below examples. Check the video for local setup on Windows & Ubuntu. For a free cloud MongoDB database check this video.
Locally running instance:
mongodb://127.0.0.1:27017/
Hosted on the internet:
mongodb+srv://<username>:<password>@somecluster.some.mongodb.net/
-
Run the project: Once you have installed the dependencies and added the required environment variables, you are ready to run the project. To start the development server, run the following command:
node app.js
or use
nodemon
to run it in background for a detailed log & better development experiencenpx nodemon app.js
Great you have successfully run the app! Now get coding!
I heartily welcome any and all contributions that match our engineering standards! π
That being said, this codebase isn't your typical open source project because it's not a library or package with a limited scopeβit's our entire product.
- Contributions make the open source community such an amazing place to learn, inspire, and create.
- Any contributions you make are greatly appreciated.
- Check out our contribution guidelines for more information.
Here's a quick run down on how to get started with open source, first of all let's know some basic terminologies:
- Git: is a versioning system that let's you store your code and code history on your local computer preventing loses and allowing sharing of that code
- Github: is a server that let's you store the history in a database
- Open Source: A project is said to be open sourced if you can see the code on GitHub
- Fork: This is a copy that you make of a project on GitHub, it gets added to your repositories
- Repository: A project on GitHub is called a repository
- Pull Request: This is a fix for an issue proposed to be done in a project, this consists of you editing a file in the project.
- Issue: An issue is a change that should be done in a project, can be a bug, a new feature or a suggestion to a project
- Branch: A branch is a new workspace derived from the default workspace(main or master), it allows you to work on something without affecting the original code.
- Star: When you star a repositiory, it gets saved at your profile and you can easily re-visit it later.
Now you know some basic terms, let's get into how to get started with some resources to let you understand open source better:
- Crash Course to Git and Github - Video
- A complete Guide to Open Source - Video
- Guide to Open Source - Article
- Create a new branch
git checkout -b YourBranchName
- Add it to staging area
git add <path to the file you worked on>
- Commit your changes with
git commit -m "message"
- Push your changes
git push
- No
console.log
s in any file: We use thedebug
module across the codebase to log debugging information in development only. Never commit a file that contains aconsole.log
as CI will fail your build. The only exceptions are errors, which you can log, but you have to useconsole.error
to be explicit about it - Code reviews: All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose.
If you found a technical bug on the website or have ideas for features we should implement, the issue tracker is the best place to share your ideas. (click here to open a new issue)
- If you find a bug on Project and open a PR that fixes it we'll review it as soon as possible to ensure it matches our engineering standards.
- If you want to implement a new feature, open an issue first to discuss what it'd look like .
- If you want to contribute but are unsure to start, we have a "good first issue" label which is applied to newcomer-friendly issues and pick something you like!
- Want to fix a bug or implement an agreed-upon feature? Great, jump to the local setup instructions!
- Respect Issue Ownership and Problem Solving Capabilities: Contributors must respect the ownership of issues raised by others. If someone has identified a problem and is capable of resolving it themselves, contributors should refrain from intervening unless explicitly requested for assistance. The goal is to foster autonomy and encourage developers to solve their own issues, contributing to their personal growth and the overall learning experience of the team.
- Focus on Unassigned Issues or New Problem Areas: Contributors are encouraged to focus on issues that are either unassigned or have not been actively addressed. Before starting work on any issue, ensure that the issue has no active assignee. If an issue has been claimed, contributors should look for other opportunities or create new issues based on unaddressed problem areas.
- Avoid Conflict with Assigned Work: In the spirit of collaboration, contributors should avoid duplicating work or conflicts by taking over issues that have already been assigned. Always verify the assignment status before starting work, and communicate clearly with the team to ensure smooth collaboration.
- Encourage Open Collaboration and Support: While respecting issue ownership, contributors are encouraged to provide support and guidance if the person assigned to an issue requests help. Collaboration should be aimed at learning and building skills, rather than completing work for others.
- Maintaining Transparency and Accountability: When contributing to issues, maintain transparency by regularly updating the status of the work being done. If you're unable to resolve an issue or need to relinquish it, communicate with the team so the issue can be reassigned. This ensures accountability and helps maintain the flow of contributions within the project.
Thanks a lot for spending your time helping Top_Secrets to grow. Thanks a lot! Keep rocking π» Also Give it a Star π, If you loved contributing to the project.
MIT License, see the LICENSE file.