Skip to content

aitoss/Anubhav-backend

Repository files navigation

Anubhav-backend

Anubhav is a platform developed for AITians to read & share encounters of various interviews. Including interviews of big giants like Amazon, Google & Microsoft. This will surely help the upcoming batches of AIT.


Contents

  1. Highlights
  2. Requirements
  3. Installation
  4. Screens
  5. Routes
  6. Table Schema
  7. Directory
  8. Contributions
  9. Copyright

Highlights

  • Anyone can share his/her experience of an interview to help students.
  • Students who know someone and want his/her interview experience can request by providing a few details.
  • Writing anonymously is also possible on Anubhav.
  • In the future, we would extend this platform more than just Interview Experiences by adding more helpful features.

Requirements:

  • Node.js
  • MongoDB
  • Postman
  • Studio3T or MongoDB Compass - Managing DB

Installation

Fork the Repository in your machine then clone it in your machine (Replace your_username with your username)

git clone https://github.com/your_username/Anubhav-backend.git

Move into the project directory and install required dependencies

cd Anubhav-backend
npm install

Create dev.env and prod.env file with following details:

PORT=5000
MONGO_URI=Mongo_Connection_URL
JWT_SECRET=secret_key
JWT_EXPIRES_IN=7d
JWT_COOKIE_EXPIRE=7d
CONTACT_EMAIL=your@email.id
CRYPTR_SECRET=your_secret_code
CLIENT_ID=your_secret_id
CLIENT_SECRET=your_secret
REFRESH_TOKEN=refresh_token
VERIFY_MAIL=admin_emails_separated_by_comma
BASE_LINK=http://localhost:5000_or_http://anubhav.aitoss.club_depending_upon_environment

Replace the dummy values with your credentials (Never share .env file with anyone)

OR

Just run this command instead of doing above step

cp .env_sample .env

Run the command in your terminal to start the dev server

npm run dev

To start the production server

npm run prod

Screens

Landing Page,

Landing page

Experience Page,

Landing page

Write Article Page,

Landing page

Request Article Page,

Landing page

Routes


Route Description Signature
/article (post) Search for Host name and then creates a new Visitor Entry in MongoDB Body: { title, typeOfArticle, companyName, companyDomainName, createdAt , description, articleTags, isAuthentic, showName,author}
/auth (post) Update the Checkout time of Visitor in MongoDB Body: { name, email, aitBatch, linkedIn, createdAt}
/user (post) Add new Host Entry in MongoDB Body: { name, email, password, username, createdAt, role}
/request_article (get) Get array of host list form MongoDB Body: { requesterName, requesteeName, requesteeContact, company, note}
/feedback (post) Send email using nodemailer modular Body: { article, feedback, rating, creationDate}

Schema


Article Schema

image

Author Schema

image

Feedback Schema

image

Request Article Schema

image

User Schema

image

Directory

image


Contribution

Never push your code to master branch Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.


Copyright

If you are thinking to use this application for your community/college, We would love to see AIT OSS CLUB mention at your hosted application.

Made with ❤ by OSS Club.