A Social Media 👥 Clone Application using MongoDB, Express, React, Node and Docker 🌟 Some Features of this app:
- Login / Signup
- View Profile
- Send Friend Requests
- Post Pictures
- Like / Unlike Posts
- Search Users by name / email / location
Pull Requests are welcome for new features, bug fixes and others.
The complete app is dockerized and can be set up by a single command :🤩 Open terminal in root directory and run
$ docker-compose up
Note: If you are new to docker download Docker Desktop and keep it running before executing above command
You can customize the src
and api
directories.
src/
├─ api/
│ ├─ User
│ │ ├─ controller.js
│ │ ├─ index.js
│ │ ├─ index.test.js
│ │ ├─ model.js
│ │ └─ model.test.js
│ └─ index.js
├─ services/
│ ├─ express/
│ ├─ mongoose/
│ └─ response-service/
├─ app.js
├─ config.js
└─ index.js
Here is where the API endpoints are defined. Each API has its own folder.
It defines the Mongoose schema and model for the API endpoint. Any changes to the data model should be done here.
This is the API controller file. It defines the main router middlewares which use the API model.
This is the entry file of the API. It defines the routes using, along other middlewares (like session, validation etc.), the middlewares defined in the some-endpoint.controller.js
file.
Here you can put helpers
, libraries
and other types of modules which you want to use in your APIs.