- π About the Project
- π» Getting Started
- π₯ Team Members
- π Future Features
- π€ Contributing
- π«° Show Support
- π Acknowledgements
- π License
oceanThreads is a modern question-and-answer (Q&A) website that is built different using web technologies for the students and instructors of General Assembly.
It is inspired by other knowledge markets such as stackoverflow.com, quora.com, etc. oceanThreads is a kind of Collective Intelligence (CI) solution which can be considered as an alternative to Artificial intelligence (AI) to provide students with an interactive, progressive and human-oriented learning journey.
βNow is no time to think of what you do not have. Think of what you can do with that there is.β β Ernest Hemingway, The Old Man and the Sea
- Minimal, clean, responsive layout based on Bootstrap boilerplate.
- Vanilla Node.js code from scratch with no additional frameworks.
- OAuth 2.0 Authentication: Login/Logout seamlessly through Google.
- Simple navigation bar to let users surf between different pages.
- Threads listing page with user avatars and filtering feature.
- Thread standalone viewing page with commenting functionality.
- User dashboard that shows threads with update/delete ability.
- Leaderboard page to rank users by the number of threads created.
Server
Database
To get a local copy up and running, follow these steps.
It is recommended to have the following software (or newer versions) to run the project properly:
- git v2.41.0
- npm v9.8.1
- Node.js v20.5.0
- MongoDB v6.0.8
- Chrome v115.0.0
Clone this repository to your desired folder:
git clone git@github.com:almadhoob/ocean-threads.git
Touch an '.env' file and include the following keys: DATABASE_URL, GOOGLE_CLIENT_ID, GOOGLE_SECRET, GOOGLE_CALLBACK, and a random SECRET. After that, install the project with:
cd ocean-threads
npm install
npm start
π€ Ali Haji (El CapitΓ‘n) | GitHub - LinkedIn
- The shipmaster, a Full-stack Engineer who manages everything on the watercraft starting from task assignment to implementation. He also utilises creative skills to wireframe maps before navigation.
π€ Ahmed Almadhoob | GitHub - LinkedIn
- The navigator, a DevOps Engineer who deals with clean codebase initialisation, pull requests handling, testing and deployment. He also interacts with the terminal as a back-end developer on demand.
π€ Hamad Alhibshi | GitHub - LinkedIn
- The engineering officer, a pure Back-end Engineer who works 24/7 to add many lines of code for routes and controllers. He also deals with database schemas to make sure it runs smoothly with the engine.
π€ Rashid Althawadi | GitHub - LinkedIn
- The communications officer, a pure Front-end Engineer who deals with designing webpages and adding styling sheets. As a multimedia specialist, he creates wonderful logos, images and video clips.
- Full-text search for all the threads and comments.
- Adding experience points (XP) to the leaderboard.
- Push notification to email using OneSignal API.
Contributions, issues, and feature requests are welcome. Feel free to check the issues page.
To create a new branch each time:
git checkout main
git pull origin main
git checkout -b yourNewBranch
To push your branch:
git add .
git commit -m "yourComment"
git push -u origin yourBranch
If you like this project then support us by donations or buy a cup of coffee for each team member at least.
We would like to thank Tor Johnson, Avan Sardar, Ahlam Almutawa, Mohamed Faris and Ernest Hemingway.
This is an MIT-licensed project.