Quotely is a full-stack web application built with React.js, Express.js, GraphQL, and MongoDB, providing users with a platform to share and explore quotes. Users can sign up or log in securely using bcrypt.js for password hashing and JSON Web Tokens (JWT) for authentication. The frontend utilizes React.js and Apollo Client for dynamic UI rendering and efficient data fetching from the GraphQL API endpoint powered by Apollo Server integrated with Express.js. MongoDB, managed with Mongoose, serves as the database for storing user information and quotes. React Router enables smooth client-side routing, while Apollo Client handles GraphQL queries and mutations for seamless interaction with the backend.
- User Authentication: Users can sign up, log in, and log out securely.
- Profile Management: Users can view their profile information, including their name, email, and quotes.
- Quote Creation: Authenticated users can create new quotes and associate them with their profile.
- Quote Exploration: Users can explore quotes created by other users.
- Responsive Design: The application is responsive and works well on desktop and mobile devices.
- Frontend: React.js, React Router, Apollo Client
- Backend: Node.js, Express.js, Apollo Server, GraphQL
- Database: MongoDB (via Mongoose)
- Authentication: JSON Web Tokens (JWT), bcrypt.js
- Deployment: Render (Backend), Vercel (Frontend)
To run the Quotely application locally, follow these steps:
- Clone this repository to your local machine:
git clone https://github.com/KumaarBalbir/quotely.git
- Navigate to the project directory:
cd quotely
- Install dependencies for both the frontend and backend: for server side
npm install
and for frontend sidecd client
and thennpm install
- Create a .env file in the root directory and define the following environment variables:
MONGO_URI
andJWT_SECRET
(generate-jwt-secret) - Start backend server:
node server.js
- Start frontend development server in separate terminal
npm start
(make sure you are in client directory) - Open your web browser and visit
http://localhost:3000
to access the Quotely application.