Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/egecan12/twitter-clone-2024
https://github.com/egecan12/twitter-clone-2024
Last synced: 5 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/egecan12/twitter-clone-2024
- Owner: egecan12
- Created: 2024-04-16T11:12:48.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-05-06T01:14:05.000Z (7 months ago)
- Last Synced: 2024-05-06T02:29:57.252Z (7 months ago)
- Language: JavaScript
- Size: 145 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Twitter Clone 2024
![twitter1](https://github.com/egecan12/Twitter-Clone-2024/assets/45043515/ec6dface-791b-4d02-97fd-cfcc368f62bf)
Project-Link: https://twitter-clone-2024.onrender.com/
This project is a simplified clone of Twitter, built for educational purposes. It allows users to register, login, post messages, and like/dislike posts.
I am currently working on it to integrate more feautures.
The project is built using Node.js, Express, MongoDB, and Pug for server-side rendering.
## Tech Stack
### Node.js
A JavaScript runtime built on Chrome's V8 JavaScript engine.
### Express
A fast, unopinionated, minimalist web framework for Node.js.
### MongoDB
A source-available cross-platform document-oriented database program.
### Mongoose
An Object Data Modeling (ODM) library for MongoDB and Node.js.
### Pug
A high-performance template engine heavily influenced by Haml and implemented with JavaScript for Node.js and browsers.
### Argon2
A password-hashing function that summarizes the state of the art in the design of memory-hard functions and can be used to hash passwords for credential storage, key derivation, or other applications.
### Express-Session
A session middleware for Express.
### Body-Parser
Node.js body parsing middleware.
### Dotenv
A zero-dependency module that loads environment variables from a `.env` file into `process.env`.
## Setup
1. **Clone the repository** to your local machine.
2. **Navigate to the project directory.**
3. **Install the dependencies** by running the following command:
```bash
npm install
```4. **Create a `.env` file** in the root directory. The `.env` file should contain the following variables:
- `SESSION_SECRET`: Your session secret.
- `DB_URL`: Your MongoDB connection string.
- `PORT`: The port on which the server will run (default is 5000) for deployment set it (0.0.0.0).5. **Start the server** by running the following command:
```bash
npm start
```
The server will start on the port specified in the `.env` file or port 5000 if no port is specified.## Contribution
Feel free to contribute to this project. Any contributions you make are greatly appreciated. Please ensure your code adheres to the existing style to maintain consistency across the codebase.
## Fork the Project
Create your Feature Branch (git checkout -b feature/AmazingFeature)
Commit your Changes (git commit -m 'Add some AmazingFeature')
Push to the Branch (git push origin feature/AmazingFeature)
Open a Pull Request
Please note that this project is released with a ContributonWritten by Egecan