https://github.com/headlessnode/whisper-space
https://github.com/headlessnode/whisper-space
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/headlessnode/whisper-space
- Owner: headlessNode
- License: mit
- Created: 2024-11-13T08:20:52.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-11-21T06:32:08.000Z (12 months ago)
- Last Synced: 2025-01-19T16:48:46.043Z (10 months ago)
- Language: EJS
- Homepage: https://fine-corina-headlessnode-da1eaa6f.koyeb.app/
- Size: 112 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [WhisperSpace](https://fine-corina-headlessnode-da1eaa6f.koyeb.app/)
WhisperSpace is a web application that lets users anonymously share their thoughts. It includes a membership feature, where members can view the author and timestamp of each post. The app is designed with simplicity in mind, offering an intuitive and easy-to-navigate experience.
## Features
- **User Authentication**: Users can sign up, log in, and securely store their passwords with bcrypt.
- **Membership Access**: Users must solve a riddle to join the club and gain membership status.
- **Create Posts**: Authenticated members can create posts with a title and body text.
- **Post Visibility**: Posts are visible to everyone, but only members can see the author's name and the date posted.
- **User Post Management**: Users can edit and delete their own posts.
- **Post Display**: The homepage displays all posts, with author names and timestamps hidden from non-members.
## Technologies Used
- **Backend**: Node.js, Express.js
- **Database**: PostgreSQL
- **Authentication**: Passport.js, bcrypt.js
- **Frontend**: Ejs, Tailwind CSS
## How to Use
- **Register**: Create a new user account by filling in the registration form.
- **Login**: Use the login form to authenticate and gain access to the app.
- **Create Posts**: Once logged in, you can create new posts. Title and the content will be visible to everyone, but only members will see the author's name and date.
- **Post Management**: You can edit and delete your own posts.
- **Join the Club**: Solve the riddle to gain membership status.
## Contributing
If you find bugs feel free to create an issue.
## TODOS
- Implement pagination on the homepage to limit the number of posts displayed at once and improve load times.
- Implement the ability to filter posts by date.
- Add user profile page where members can view and update their account information.
- Add unit tests for critical routes and logic (e.g., user sign-up, login, post creation).