This app is made with:
Our development environment backend includes SQLite instead of MongoDB for development purposes only.
This app was bootstrapped with Create-React-App v5 aka react-scripts by running npx create-react-app reactsocialmedia
This is a full stack MERN social media application that allows users to create and share posts, join and also create events and groups. Our main core focus is on friends, groups and events.
This design is based on community driven developent and as such there is no particular design we are going for just yet. We have a reusable component called Panel to make contributing new components and features easier. You should be able to easily submit a design that will work with the design we have already started working with. If we like the design of the component, feature, panel or other item, we will merge it if the item has been tested as working.
- Groups
- Events
- Connecting with friends
To install and run this application, you will need to have Node.js and MongoDB installed on your machine. Once you have these installed, follow these steps:
- Clone the repository
- move to /client folder using
cd client
on your terminal - Install the dependencies using
npm install
- Start the server using
npm start
- Open the application in your web browser at
http://localhost:3000
If you would like to contribute to this project, please follow these steps:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes and commit them with descriptive commit messages and include a screenshot of your working change.
- Push your changes to your fork
- Submit a pull request
If you would like to contribute to this repository, please read our Contributing document. We welcome your pull requests here. We are editor and IDE agnostic here, however, VSCode and Visual Studio configurations and settings are included to make contributing easier for those who have not set up their development environment for React development. This includes extensions which you can opt out of installing when you first open the project in VSCode.
You should already be familiar with React 17 and or 18, JavaScript ES5/ES6/ES7 and JSX. If you are not there are plenty of resources available, such as this video: https://www.youtube.com/watch?v=cd3P3yXyx30
This is not hosted anywhere yet and the backend of this project is currently under construction.
If you would like something to work on, there are plenty of TODO's here https://github.com/gbowne1/reactsocialnetwork/blob/main/docs/TODO.md we are particularly needing help with core features. If you have ideas for features, use the discussion tab to submit an idea for a feature.
If you have any questions or concerns about this project, please contact the project maintainers and the current core development team. These are the people you will add as reviewers on a PR.
@manuel12 @pawel975 @gbowne1
We have both unit tests(Jest & React Testing Library) and e2e tests(Cypress).
In order to run unit tests go to client/
folder and run npm run test
on the CLI.
In order to run e2e tests go to client/
folder and run npm run test:cypress
on the CLI.
In order to open cypress UI go to client/
folder and run npm run test:cypress:open
on the CLI.