This project was born as a result of 2 weeks of dedicated hard work, between me @Zakariae, and my partner @Franco, after finishing the Rails curriculum on Microverse we decided to build a Facebook replicate in order to understand more the structure of Ruby on Rails, but we were serious about building something beautiful like this, please feel free guys exploring the app and if you have some new feature that you want to propose don't hesitate to open an issue on this repository with the specified details.
- Here is the Entity Relation Diagram that we have used in this project
- User can log in using an email and password;
- User can sign up, entering his personal information;
- User can access his profile;
- User can access all users profile;
- User can add a friend;
- User can cancel a friend request;
- User can accept or decline a friend request;
- User can share a post, delete and edit his own posts;
- User can like, dislike and leave a comment on a post;
- User can send messages to other users;
- User can receive messages from a user;
- User can change his avatar;
- User can change his cover picture;
- User can update his personal information;
- Ruby v2.6.5,
- Ruby on Rails v6.0.3.2,
- Action Cable
- AWS S3 services
This is an example of how you may give instructions on setting up your project locally.
To get a local copy up and running follow these simple example steps.
- Ruby: v2.6.5p114
- Ruby on Rails v6.0.3.2
- Postgres: >= 9.5
- AWS credentials
- Install gems with:
bundle install
- Setup database with:
rails db:create
rails db:migrate
I used the S3 AWS service in order to store images. Therefore, I used SECRET KEYS stored in environment variables on my development and production servers.
- So if you have AWS credentials create a new file named
application.yml
insideconfig/
directory and then past your credentials in it like showing bellow:
development:
access_key_id: your_access_key_id_goes_here
secret_access_key: your_secrect_access_key_goes_here
Start server with:
rails s
Then open http://localhost:3000/
in your browser
-
Make the search field working so we can allow users to search for each other
Add pagination to the list of posts and friends also
Add, birthday to the user model, to cheer if someone birthday comes soon or whatever
Add some javascript validation for the signup page
Show a notification if someone liked my post or commented on it.
👤 Zakariae El Mejdki
- GitHub: @elmejdki
- Twitter: @zakariaemejdki
- Linkedin: Zakariae El Mejdki
👤 Franco Rosa
- Github: @FrancoRosa
- Linkedin: Franco Rosa
Contributions, issues and feature requests are welcome!
Feel free to check the issues page.
Give a ⭐️ if you like this project!