đŸ•šī¸ Carnival LOGGER

Giant Wheel
Retro Pixel Time Logging & Project Management App
--- ## Features - âąī¸ **Session Timer**: Log time spent on projects with a retro pixel UI. - 💾 **Timer State Persistence**: Unfinished sessions are saved and can be resumed after reload. - 📁 **Project Management**: Create, select, and manage multiple projects. - 🔑 **API Key Security**: Secure your logs with a personal API key. - 🏆 **Leaderboard**: View top contributors and time spent. - đŸ–ŧī¸ **Media Uploads**: Attach photo/video CDN links to your logs. - 🎨 **Pixel/Retro UI**: Styled with a classic arcade look. ## Getting Started ### Prerequisites - [Node.js](https://nodejs.org/) (v14+ recommended) ### Installation 1. Clone this repository: ```sh git clone https://github.com/adhyys07/shipwrecked-1.git cd shipwrecked-1/minimal_build ``` 2. Install dependencies: ```sh npm install ``` 3. Start the server: ```sh node server.js ``` 4. Open your browser and go to [http://localhost:3000](http://localhost:3000) ## Usage 1. **Register** with your Slack ID and email to receive an API key. 2. **Enter your API key** to unlock your projects and logs. 3. **Create a project** from the sidebar. 4. **Start logging time** by selecting a project and pressing "START LOGGING". 5. **Pause, resume, or cancel** sessions as needed. Unfinished sessions are saved and can be resumed after reload. 6. **Submit logs** with descriptions and media links. 7. **View the leaderboard** to see top contributors. ## Folder Structure - `minimal_build/` - Main app (frontend & backend) - `public/` - Static assets (HTML, CSS, JS, images) - `routes/` - API endpoints - `server.js` - Express server - `shipwrecked-1p/` - Additional resources ## API Endpoints - `POST /api/register` - Register and receive API key - `POST /api/validate-key` - Validate API key - `GET /api/projects` - List user projects - `POST /api/create-project` - Create a new project - `POST /api/log-time` - Submit a time log - `GET /api/project-total-time` - Get total time for a project ## Credits - Developed by [adhyys07](https://github.com/adhyys07) - UI inspired by classic arcade/pixel games