LikeLine is an engaging and interactive Instagram clone designed for personal use to practice and apply best practices in web development. It is structured as a monorepo using npm workspaces, with dedicated folders for both the backend and frontend components. This comprehensive README will guide you on setting up and running the project on your local machine.
Before running the project, ensure that you have the following installed:
- Node.js (v14 or later)
- npm (v7 or later)
- MongoDB (v4 or later)
- Docker
- Docker Compose
- Clone the repository to your local machine:
git clone https://github.com/pmartinsdev/likeline.git
cd likeline
- Create a
.env
file in thepackages/backend
folders with the following variables:
packages/backend/.env
# Server Configuration
PORT=3332
JWT_SECRET=super_secret_hash
# PostgreSQL Configuration
PG_DB_USERNAME=your_postgres_username
PG_DB_PASSWORD=your_postgres_password
PG_DB_NAME=your_postgres_database_name
PG_DB_HOST=localhost
PG_DB_PORT=5432
# MongoDB Configuration
MONGO_DB_USERNAME=your_mongo_username
MONGO_DB_PASSWORD=your_mongo_password
MONGO_DB_NAME=your_mongo_database_name
MONGO_DB_HOST=localhost
MONGO_DB_PORT=27017
To start only the backend, run:
npm run start:backend
The backend server will run on http://localhost:3333
LikeLine uses Docker and Docker Compose to provide a seamless setup. Docker Compose manages containers for both the backend and frontend, ensuring a smooth integration.
The updated project structure is as follows:
likeline/
|- packages/
| |- backend/
| | |- src/
| | |- package.json
| | |- ...
| |
| |- frontend/
| | |- public/
| | |- src/
| | |- package.json
| | |- ...
|
|- package.json
|- ...
The packages/backend
folder contains the backend server code
As this is a personal learning project, contributions are not expected. However, you are welcome to explore, experiment, and make changes to enhance your learning experience.
This project is licensed under the MIT License - see the LICENSE file for details.
- LikeLine was inspired by Instagram.
- Special thanks to all the open-source projects that have contributed to the learning journey.
If you have any questions or feedback, please feel free to contact the project maintainers at [email protected]
Happy learning and coding! 🌐🚀