"Publish your words in your way! Whether you'd like to share your knowledge, experiences or the latest news, publish your own articles in a unique and smart way"
BlogMan is a new social blogging platform where anybody can share their views and read other's opinion related to any topic. It is a way to connect with people and to know how the world is thinking. BlogMan is created using the MongoDB, Express, React and NodeJS (MERN Stack).
MongoDB - Database
Express - NodeJS Framework
React - Frontend
NodeJS - Backend
CKEditor - Creating blogs
In the project directory BlogMan/front-end
, run this command to install dependencies:
In order to run the application:
Runs the app in the development mode.
Open http://localhost:5000 to view it in the browser.
The page will reload automatically if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Open "back-end/.env" to setup MongoDB environment and add your MongoDB URI, local or Atlas, client-id, client-secret and Youtube API key.
Console will display "Mongoose connected" if there are no issues with the connection.
If there is any pertaining issue, console displays "Mongoose connection failed".
- The docker files have been written for both the frontend and backend(inside the respective folders)
- Make sure you have
docker
anddocker-compose
installed on your system. - Go to the root directory of the project.
- Run
docker-compose up --build
. - This will build the individual docker images from within the respective folders and create the containers.
- The
docker-compose
file acts as a manager, for the individual docker files. It decides and configures things like which container runs on which port, the names of the containers and even the starting order of the docker containers. - We use docker containers to run/develop our apps because they are light weight and while using docker containers, we don't need to have the respective tech-stack(like, npm, angular-cli, react-cli) locally installed on our system. This gives developers the ability to continue to develop projects irrespective of the platforms they are working on.
- NOTE: The MongoDB database for this project is running and maintained on Mongo Atlas as of now. Since multiple people have contributed to this project, before starting the apps, make sure the required API Keys are in-place(because some API keys are defined inside the respective folders - for both frontend and backend, and not through docker environment variables), otherwise there may be some weird errors.
- Should you run into some error, please refer the official documentation here
- Basic knowledge of programming
- Ability to use Git and Github
- Working knowledge of Flutter is preferable
- UI/UX skills are appreciable but not mandatory
1. Fork this repository.
2. Clone the forked repository.
git clone https://github.com/<your-github-username>/BlogMan
3. Navigate to the project directory.
cd girlscript_app
4. Create a new branch.
git checkout -b <your_branch_name>
5. Make changes in source code.
6. Commit your changes.
git add .
git commit -m "<your_commit_message>"
7. Push your local branch to the remote repository.
git push -u origin <your_branch_name>
8. Create a Pull Request!
Congratulations! Sit and relax, you've made your contribution to BlogMan project.
-
Write clear meaningful git commit messages (Do read this).
-
Make sure your PR's description contains GitHub's special keyword references that automatically close the related issue when the PR is merged. (Check this for more info)
-
When you make very very minor changes to a PR of yours (like for example fixing a text in button, minor changes requested by reviewers) make sure you squash your commits afterward so that you don't have an absurd number of commits for a very small fix. (Learn how to squash at here)
-
When you're submitting a PR for a UI-related issue, it would be really awesome if you add a screenshot of your change or a link to a deployment where it can be tested out along with your PR. It makes it very easy for the reviewers and you'll also get reviews quicker.
-
Please follow the PR Template to create the PR.
-
Always create PR to
develop
branch. -
Please read our Code of Conduct.
We have layed out some guidelines for error handling on the backend. Kindly read and implement it when you're working on any API.
Avijit Das
Rajat Upadhyay
Pratham Dogra
Ayushi
Sanjeev Kumar
Keep Contributing !! We love your input !!