Wander is a collaborative social application designed for travelers to share their experiences, stories, and adventures with a community of fellow travelers. The platform allows users to create blog posts, interact with other users through comments and likes, discover new destinations, and connect with like-minded individuals.
Wander aims to provide a comprehensive platform for travelers to:
Wander implements user authentication and authorization using JSON Web Tokens (JWT), ensuring secure access to user accounts and protected resources.
Users can create, edit, and delete blog posts, including uploading images and categorizing posts based on destination or theme.
Wander includes interactive features such as commenting on posts, liking content, and signaling inappropriate or offensive posts for moderation.
The platform supports real-time updates using Socket.IO, enabling live chat and notifications for users.
Wander integrates a chatbot powered by Google Generative AI, providing users with personalized recommendations, travel tips, and answers to common questions.
The project includes comprehensive API documentation using the OpenAPI Specification, facilitating easy integration with external services and clients.
To get started with Wander, follow these steps:
git clone https://github.com/abdeLKabir-56/wander
npm install
OR
yarn install
npm run dev
OR
yarn start
To ensure the application runs smoothly, please configure the following environment variables in your .env
file.
Variable | Description |
---|---|
COOKIE_KEY |
A secret key used for signing cookies. It ensures the integrity and security of the cookie data exchanged between the client and the server. |
CLIENT_SECRET_FACEBOOK |
The client secret provided by Facebook for OAuth authentication. It is used to authenticate requests to Facebook's API when users log in. |
CLIENT_ID_FACEBOOK |
The client ID assigned by Facebook for your application. This ID is used to identify your app when making requests to the Facebook API. |
CLIENT_SECRET_GOOGLE |
The client secret provided by Google for OAuth authentication. It is required to authenticate and authorize users through Google Sign-In. |
CLIENT_ID_GOOGLE |
The client ID assigned by Google for your application. It is used to identify your app in requests made to Google APIs. |
MONGO_LOCAL_URL |
The connection string for your local MongoDB database. This URL is used to connect the application to your MongoDB instance. |
JWT_SECRET_KEY |
A secret key used for signing JSON Web Tokens (JWTs). This key is crucial for creating and verifying JWTs for user authentication. |
CHAT_API_KEY |
The API key used to authenticate requests to the chat service. It is necessary for enabling chat functionalities within the application. |
PORT |
The port number on which the application will run. By default, it is often set to 3000 but can be configured to any other available port. |
.env
file..env
file out of version control (e.g., using .gitignore
) to protect sensitive information.Contributions to Wander are welcome! If you'd like to contribute, please follow these guidelines: