Echo is an open-source web application that allows users to sign up, create spaces, share posts, and interact with content through liking and disliking posts. It provides a Reddit-like experience with a focus on simplicity and community engagement.
- User sign-up and authentication system
- Space creation for different topic discussions
- Post creation and sharing within spaces
- Like and dislike functionality for posts
- Commenting on posts
- User profiles with activity history (WORKING ON THIS)
This is a T3 Stack project bootstrapped with create-t3-app
.
- Learn the T3 Stack — Check out these awesome tutorials
- Fork or Clone this repo
npm install
oryarn install
to installnode_modules
and get it up and running- Sign up for PlanetScale, Clerk, and Upstash (Services used for DB, user Auth, and Rate Limiting)
- Fill in fields in the
.env
file. npm run dev
oryarn run dev
to start the project up.- Access the application in your browser at
http://localhost:3000
.
- Node.js and npm installed on your machine
Follow our deployment guides for Vercel, Netlify and Docker for more information.
Contributions to Echo are welcome! If you have any bug fixes, improvements, or new features to propose, please submit a pull request. Be sure to follow the project's code style and guidelines.
- Version 1.0.0 (2023-10-07)
- User can sign up via GitHub or create a new account using an email.
- User can create Echo Spaces and Edit Echo Spaces they have created.
- User can Create posts in their own echo spaces and create posts in other echo spaces
- Users can Like posts
- Version 1.0.1 (2023-11-07)
- Added Rate Limiting
- CI build in GitHub, removed TypeChecks from Vercel
- Non Logged in users cannot access new post button
- Fixed imports
- (2023-26-07)
- Added React Hook Form to create post wizard, still need to fully integrate it.
- Added Tags to a post and to the create post wizard
- Updated router to map over tags when creating a post
- Added tags to the response
- Added Tag Atom to display tags in a post
- TODO: Need to add remove tag logic
- Updated sort bar to a dropdown select.
- TODO: Move options to an array to map over inside select
- Updated sign in button
- Updated create post button